php 递归无限级分类php

/ / 2016-10-19   阅读:2560
<?php //递归无限分类树,作者大象 //查询出来的数组 $array = array(     array(         'id' => 1,         'name' => 'dev', ...
<?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',

        'parentid' => 0

    ),

    array(

        'id' => 5,

        'name' => 'pdo',

        'parentid' => 2

    ),

    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;

}

?>

我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈