微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php 递归无限级分类

<?PHP

//递归无限分类树,作者大象

//查询出来的数组

$array = array(

    array(

        'id' => 1,

        'name' => 'dev',

        'parentid' => 0

    ),

    array(

        'id' => 2,

        'name' => 'PHP',

        'parentid' => 1

    ),

    array(

        'id' => 3,

        'name' => 'smarty',

        'parentid' => 2

    ),

    array(

        'id' => 4,

        'name' => 'life',

    array(

        'id' => 5,

        'name' => 'pdo',

    array(

        'id' => 6,

        'name' => 'pdo-MysqL',

        'parentid' => 5

    ),

    array(

        'id' => 7,

        'name' => 'java',

        'parentid' => 1

    )

);

display_tree("",0);//初次显示树中的根节点

function display_tree($tag,$id) {

    global $array;//查询出来的数组,这里申明成常量,为了可以调用外界的$array

    $result = findChild($array,$id);//取得当前节点下的所有同级子节点

    foreach ($result as $k => $v){

        // 缩进显示节点名称 

        echo $tag.$v['name'] . "<br/>"; 

        //再次调用这个函数显示子节点下的同级子节点 

        display_tree($tag."|_____|",$v['id']);   

   }

}

//取得当前节点下的所有同级子节点

function findChild(&$arr,$id){

    $childs=array();

     foreach ($arr as $k => $v){

         if($v['parentid']== $id){

              $childs[]=$v;

         }

    }

    return $childs;

}

?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐