php实现递归与无限分类的方法

原创 2017-02-08 09:59:56 277
摘要:本文实例讲述了php实现递归与无限分类的方法,分享给大家供大家参考。具体实现方法如下:<?php echo "<pre>"; $area = array( array('id'=>1,'area'=>'北京','pid'=>0), array(

本文实例讲述了php实现递归与无限分类的方法,分享给大家供大家参考。具体实现方法如下:

<?php
echo "<pre>";
$area = array(
array('id'=>1,'area'=>'北京','pid'=>0),
array('id'=>2,'area'=>'广西','pid'=>0),
array('id'=>3,'area'=>'广东','pid'=>0),
array('id'=>4,'area'=>'福建','pid'=>0),
array('id'=>11,'area'=>'朝阳区','pid'=>1),
array('id'=>12,'area'=>'海淀区','pid'=>1),
array('id'=>21,'area'=>'南宁市','pid'=>2),
array('id'=>45,'area'=>'福州市','pid'=>4),
array('id'=>113,'area'=>'亚运村','pid'=>11),
array('id'=>115,'area'=>'奥运村','pid'=>11),
array('id'=>234,'area'=>'武鸣县','pid'=>21)
);
 
function t($arr,$pid=0,$lev=0){
 static $list = array();
 foreach($arr as $v){
 if($v['pid']==$pid){
  echo str_repeat("  ",$lev).$v['area']."<br />";
  //这里输出,是为了看效果
  $list[] = $v;
  t($arr,$v['id'],$lev+1);
 }
 }
 return $list;
}
$list = t($area);
echo "<hr >";
print_r($list);
?>

更多关于php实现递归与无限分类的方法请关注PHP中文网(www.php.cn)其他文章!

发布手记

热门词条