PHP中的无限级分类详解编程语言

<?php 
		$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 tree($arr,$id,$level=1){ 
			static $subtree=array();//定义一个静态变量,用于存放取回来的值	 
			foreach($arr as $val){//循环数组 
				if($val['parent']==$id){//判断父的id与传入的id相匹配 
					$val['level']=$level;//定义一个等级 
					$subtree[]=$val;//将取到的值追加到数组里 
					tree($arr,$val['id'],$lev=$level+1);//递归调用tree函数 
					 
				} 
			} 
			return $subtree;//返回结果 
		}		 
		$res=tree($area,0); 
		foreach($res as $key=>$val){ 
			echo '|'.str_repeat("---",($val['level']*3)).$val['name'].'<br/>';//连续打印结果 
		} 
 
	/*结果如下: 
 
	|---------安徽 
	|------------------淮北 
	|---------------------------濉溪县 
	|---------北京 
	|------------------海淀 
	|---------------------------上地 
	|------------------昌平 
	|------------------朝阳 
	*/ 
		

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/15113.html

(0)
上一篇 2021年7月19日 17:32
下一篇 2021年7月19日 17:32

相关推荐

发表回复

登录后才能评论