php 无限极分类查找家谱树

1:迭代的效率要比递归高,代码页相对少些,所以查找家谱树推荐用迭代

 

$area = array(
array(‘id‘=>1,‘name‘=>‘安徽‘,‘parent‘=>0),
array(‘id‘=>2,‘name‘=>‘海淀‘,‘parent‘=>7),
array(‘id‘=>3,‘name‘=>‘濉溪县‘,‘parent‘=>5),
array(‘id‘=>4,‘name‘=>‘昌平‘,‘parent‘=>7),
array(‘id‘=>5,‘name‘=>‘淮北‘,‘parent‘=>1),
array(‘id‘=>6,‘name‘=>‘朝阳‘,‘parent‘=>7),
array(‘id‘=>7,‘name‘=>‘北京‘,‘parent‘=>0),
array(‘id‘=>8,‘name‘=>‘上地‘,‘parent‘=>2)
);


function gettree($arr,$id){

	$tree  = array();
	while($id !=0){
	foreach($arr as $v){

			if($v[‘id‘] == $id){

				$tree[] = $v;       //把找到的子数组放进空的tree数组里

				$id = $v[‘parent‘];  //while循环时用到的。

				break;
			}

	    }
	}
	return $tree;

}
print_r(gettree($area,8));

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。