无限极分类中,查找子孙树
<?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