当前位置:编程学习 > php >>

利用迭代来查找家谱树。建议新手辅助理解。

<?php 
/**
使用迭代来查找家谱树
效率比递归高,代码也不多,所以家谱树一般用迭代法,而不用递归!!
****/
 
 
$area = array(
array('id'=>1, 'name'=>'安徽', 'parent'=>0),
array('id'=>2, 'name'=>'海淀', 'parent'=>7),
array('id'=>3, 'name'=>'长治', 'parent'=>8),
array('id'=>4, 'name'=>'昌平', 'parent'=>7),
array('id'=>5, 'name'=>'县市1', 'parent'=>3),
array('id'=>6, 'name'=>'太原', 'parent'=>8),
array('id'=>7, 'name'=>'北京', 'parent'=>0),
array('id'=>8, 'name'=>'山西', 'parent'=>0),
array('id'=>9, 'name'=>'县市2', 'parent'=>3),
array('id'=>10, 'name'=>'小康村', 'parent'=>5),

);


function tree($arr, $id){
$tree = array();

while ($id !== 0) {
foreach ($arr as $v) {
if ($v['id'] == $id) {
$tree[] = $v;
$id = $v['parent'];
break;
}
}
}
return $tree;
}
 
print_r(tree($area, 10));

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,