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

前端技术 2023/09/03 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程序设计有所帮助。

本文地址:https://www.stayed.cn/item/8785

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。