• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP递归遍历多维数组实现无限分类的方法

php 搞代码 4年前 (2022-01-22) 30次浏览 已收录 0个评论

本文实例讲述了PHP递归遍历多维数组实现无限分类的方法。分享给大家供大家参考,具体如下:

<?php   //$data[]=array('id'=>1,'parentid'=>0,'name'=>'中国','img'=>'52091199');   $data[]=array('id'=>1,'parentid'=>0,'name'=>'中国');   $data[]=array('id'=>2,'parentid'=>0,'name'=>'美国');   $data[]=array('id'=>3,'parentid'=>0,'name'=>'韩国');   $data[]=array('id'=>4,'parentid'=>1,'name'=>'北京');   $data[]=array('id'=>5,'parentid'=>1,'name'=>'上海');   $data[]=array('id'=>6,'parentid'=>1,'name'=>'广西');   $data[]=array('id'=>7,'parentid'=>6,'name'=>'桂林');   $data[]=array('id'=>8,'parentid'=>6,'name'=>'南宁');   $data[]=array('id'=>9,'parentid'=>6,'name'=>'柳州');   $data[]=array('id'=>10,'parentid'=>2,'name'=>'纽约');   $data[]=array('id'=>11,'parentid'=>2,'name'=>'华盛顿');   $data[]=array('id'=>12,'parentid'=>3,'name'=>'首尔');   $tree=build_tree($data,0);   //echo memory_get_usage();   print_r($tree); function findChild(&$arr,$id){  $childs=array();  foreach ($arr as $k => $v){   if($v['parentid']== $id){    $childs[]=$v;   }  }  return $childs; } function build_tree($rows,$root_id){  $childs=findChild($rows,$root_id);  if(empty($childs)){   return null;  } foreach ($childs as $k => $v){  $rescurTree=build_tree($rows,$v['id']);  if( null != $rescurTree){  $childs[$k]['childs']=$rescurTree;  } }  return $childs; }?>

运行结果:

Array( [0] => Array  (   [id] => 1   [parentid] => 0   [name] => 中国   [childs] => Array    (     [0] => Array      (       [id] => 4       [parentid]<em>8本文来源gao.dai.ma.com搞@代*码(网$</em><pre>搞代gaodaima码

=> 1 [name] => 北京 ) [1] => Array ( [id] => 5 [parentid] => 1 [name] => 上海 ) [2] => Array ( [id] => 6 [parentid] => 1 [name] => 广西 [childs] => Array ( [0] => Array ( [id] => 7 [parentid] => 6 [name] => 桂林 ) [1] => Array ( [id] => 8 [parentid] => 6 [name] => 南宁 ) [2] => Array ( [id] => 9 [parentid] => 6 [name] => 柳州 ) ) ) ) ) [1] => Array ( [id] => 2 [parentid] => 0 [name] => 美国 [childs] => Array ( [0] => Array ( [id] => 10 [parentid] => 2 [name] => 纽约 ) [1] => Array ( [id] => 11 [parentid] => 2 [name] => 华盛顿 ) ) ) [2] => Array ( [id] => 3 [parentid] => 0 [name] => 韩国 [childs] => Array ( [0] => Array ( [id] => 12 [parentid] => 3 [name] => 首尔 ) ) ))

希望本文所述对大家PHP程序设计有所帮助。

更多PHP递归遍历多维数组实现无限分类的方法相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP递归遍历多维数组实现无限分类的方法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址