Heim > Artikel > Backend-Entwicklung > PHP durchläuft rekursiv mehrdimensionale Arrays, um eine unendliche Klassifizierung zu erreichen
Das Beispiel in diesem Artikel beschreibt die Methode, mit der PHP mehrdimensionale Arrays rekursiv durchläuft, um eine unendliche Klassifizierung zu erreichen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
<?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; } ?>
Laufergebnisse:
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] => 首尔 ) ) ) )
Ich hoffe, dieser Artikel wird für alle hilfreich sein, die sich mit PHP-Programmierung befassen.
Weitere verwandte Artikel darüber, wie PHP mehrdimensionale Arrays rekursiv durchläuft, um eine unendliche Klassifizierung zu erreichen, finden Sie auf der chinesischen PHP-Website!