zoukankan      html  css  js  c++  java
  • 夺命雷公狗---无限级分类NO2

    <?php
        header("Content-Type:text/html;charset=utf-8");
        /*
            无限级分类。牵扯2个应用
            0是-找指定栏目的子栏目
            1是-找指定栏目的子孙栏目,即子孙树
            2是-找指定栏目的父栏目/父父栏目....顶级栏目,即家谱树
        */
        $aarr = array(
            array('id'=>1,'name'=>'安徽','pid'=>0),
            array('id'=>2,'name'=>'海淀','pid'=>7),
            array('id'=>3,'name'=>'浣溪县','pid'=>5),
            array('id'=>4,'name'=>'昌平','pid'=>7),
            array('id'=>5,'name'=>'淮北','pid'=>1),
            array('id'=>6,'name'=>'朝阳','pid'=>7),
            array('id'=>7,'name'=>'北京','pid'=>0),
            array('id'=>8,'name'=>'上地','pid'=>2)
        );
         
         
        //用到静态变量,找子孙树
        function subtree($arr,$id=0,$lev=1){
            static $subs = array(); //子孙数组
            foreach($arr as $v){
                if($v['pid'] == $id){
                    $v['lev'] = $lev;
                    $subs[] = $v;////举例说找到array('id'=>1,'name'=>'安徽','pid'=>0);
                    subtree($arr,$v['id'],$lev+1); //让他递归遍历里面的数组
                }
            }
            return $subs;
        }
        //echo "<pre>";
        //print_r(subtree($aarr,0,1));
        $tree = subtree($aarr,0,1);
        foreach($tree as $v){
            echo str_repeat('&nbsp;&nbsp;&nbsp;',$v['lev']).$v['name'].'<br/>';
        }
  • 相关阅读:
    连续奇数
    50:数根
    38:花生采摘
    素数对
    17:字符串判等
    2702:密码翻译
    27:单词翻转
    15:整理药名
    12:加密的病历单
    09:密码翻译
  • 原文地址:https://www.cnblogs.com/leigood/p/4907671.html
Copyright © 2011-2022 走看看