php 无限极分类查找家谱树

时间:2014-10-16 14:06:33   收藏:0   阅读:725

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));

  

原文:http://www.cnblogs.com/a2762/p/4028502.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!