无限极分类中,查找子孙树

<?php

// 无限级分类中,查找子树树


$area = array(
0=>array('cat_id'=>1,'cat_name'=>'北京市','parent_id'=>0),
1=>array('cat_id'=>2,'cat_name'=>'馆陶县','parent_id'=>5),
2=>array('cat_id'=>3,'cat_name'=>'海淀区','parent_id'=>1),
3=>array('cat_id'=>4,'cat_name'=>'朝阳区','parent_id'=>1),
4=>array('cat_id'=>5,'cat_name'=>'邯郸市','parent_id'=>6),
5=>array('cat_id'=>6,'cat_name'=>'河北省','parent_id'=>0),
);

// print_r($area)

// 拆分,第一步:把顶级栏目打出来就可以?

function catsort($arr,$parent_id = 0,$lev=1) {
    static $list = array();
    
    foreach($arr as $v) {
        if($v['parent_id'] == $parent_id) {
            $v['lev'] = $lev;
            $list[] = $v;
            catsort($arr,$v['cat_id'],$lev+1);
        }
    }

    
    return $list;
}


// print_r(catsort($area,0));

$list = catsort($area,0,1);


foreach($list as $v) {
    echo str_repeat('  ',$v['lev']),$v['cat_name'],'<br />';
}

 在foreach里调用的是$v

 

posted @ 2014-10-30 00:28  fengyiqing  阅读(146)  评论(0编辑  收藏  举报