加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php递归遍历多维数组实现无限分类的方法有哪些(PHP无限分类)

发布时间:2022-11-28 12:52:25 所属栏目:PHP教程 来源:
导读:  这篇关于php递归遍历多维数组实现无限分类的方法有哪些的文章,主要介绍PHP递归遍历多维数组实现无限分类的方法PHP多维数组,觉得挺不错的,感兴趣的php开发者可以参考下,希望对大家在学习php的成长路上有所帮助
  这篇关于php递归遍历多维数组实现无限分类的方法有哪些的文章,主要介绍PHP递归遍历多维数组实现无限分类的方法PHP多维数组,觉得挺不错的,感兴趣的php开发者可以参考下,希望对大家在学习php的成长路上有所帮助!
 
  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]?=>?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递归遍历多维数组实现无限分类的方法文章能够帮你解决如相关的PHP问题,更多请关注PHP栏目的其它相关文章!
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!