本文实例讲述了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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/8785
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我