zoukankan      html  css  js  c++  java
  • PHP中的无限级分类

    <?php
    
    /*燕十八 公益PHP培训  
    课堂地址:YY频道88354001  
    学习社区:www.zixue.it */
    		$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/>';//连续打印结果
    		}
    
    	/*结果如下:
    
    	|---------安徽
    	|------------------淮北
    	|---------------------------濉溪县
    	|---------北京
    	|------------------海淀
    	|---------------------------上地
    	|------------------昌平
    	|------------------朝阳
    	*/
    		
    
  • 相关阅读:
    四十一.redis主从复制 RDB/AOF持久化 数据类型
    四十.创建Redis集群 管理集群
    三十九.NoSQL概述 部署Redis服务 、 部署LNMP+Redis
    三十八. 分库分表概述 配置mycat
    520D
    442C
    LA4788
    LA3276
    LA4122
    zoj3478
  • 原文地址:https://www.cnblogs.com/luowen/p/2785316.html
Copyright © 2011-2022 走看看