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

php实现递归与无限分类的方法 本文实例讲述了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'= ...

本文实例讲述了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实现递归与无限分类的方法

基础教程推荐