php实现递归与无限分类的方法
更新时间:2015年02月16日 11:51:27 作者:php之路
这篇文章主要介绍了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'=>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程序设计有所帮助。
相关文章
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
最近准备改改自己的个人主页,加上发邮件到功能,发现居然不是那么好用。gmail和msn可以收到邮件,但是163/sina/sohu的邮箱居然都收不到,非常郁闷。其实代码也很简单。 php manual 已经说得相当清楚了。2009-03-03


最新评论