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栏目的其它相关文章! (编辑:百客网 - 百科网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

