这篇文章主要介绍了php实现递归与无限分类的方法,涉及php的递归操作技巧,需要的朋友可以参考下
本文实例讲述了php实现递归与无限分类的方法,分享给大家供大家参考。具体实现方法如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
echo " "; <p>$area = array(</p> <p>array('id'=>1,'area'=>'北京','pid'=>0),</p> <p>array('id'=>2,'area'=>'广西','pid'=>0),</p> <p>array('id'=>3,'area'=>'广东','pid'=>0),</p> <p>array('id'=>4,'area'=>'福建','pid'=>0),</p> <p>array('id'=>11,'area'=>'朝阳区','pid'=>1),</p> <p>array('id'=>12,'area'=>'海淀区','pid'=>1),</p> <p>array('id'=>21,'area'=>'南宁市','pid'=>2),</p> <p>array('id'=>45,'area'=>'福州市','pid'=>4),</p> <p>array('id'=>113,'area'=>'亚运村','pid'=>11),</p> <p>array('id'=>115,'area'=>'奥运村','pid'=>11),</p> <p>array('id'=>234,'area'=>'武鸣县','pid'=>21)</p> <p>);</p> <p> </p> <p>function t($arr,$pid=0,$lev=0){</p> <p>static $list = array();</p> <p>foreach($arr as $v){</p> <p>if($v['pid']==$pid){</p> <p>echo str_repeat(" ",$lev).$v['area']."<br>";</p> <p>//这里输出,是为了看效果</p> <p>$list[] = $v;</p> <p>t($arr,$v['id'],$lev+1);</p> <p>}</p> <p>}</p> <p>return $list;</p> <p>}</p> <p>$list = t($area);</p> <p>echo "</p><hr>"; <p>print_r($list);</p> <p>?></p> |
希望本文所述对大家的php程序设计有所帮助。