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

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

发布时间:2022-11-21 13:31:29 所属栏目:PHP教程 来源:转载
导读: 这篇关于php递归遍历多维数组实现无限分类的方法有哪些的文章,主要介绍PHP递归遍历多维数组实现无限分类的方法PHP多维数组,觉得挺不错的,感兴趣的php开发者可以参考下,希望对大家在学习

这篇关于php递归遍历多维数组实现无限分类的方法有哪些的文章,主要介绍PHP递归遍历多维数组实现无限分类的方法PHP多维数组,觉得挺不错的,感兴趣的php开发者可以参考下,希望对大家在学习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]?=>?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问题,更多请关注PHP栏目的其它相关文章!

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

(编辑:武汉站长网)

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