代码如下 | 复制代码 |
$arr=Array( Array('cid'=> 2,'cname'=>'新闻','pid'=> 0), Array('cid'=> 4,'cname'=>'体育','pid'=> 0), Array('cid'=> 5,'cname'=>'娱乐','pid'=> 0), Array('cid'=> 7,'cname'=>'热点新闻','pid'=>2), Array('cid'=> 8,'cname'=>'小众新闻','pid'=> 2), Array('cid'=> 9,'cname'=>'民谣新闻','pid'=> 8), ); |
代码如下 | 复制代码 |
$arr=Array( Array('cid'=> 2,'cname'=>'新闻','pid'=> 0), Array('cid'=> 4,'cname'=>'体育','pid'=> 0), Array('cid'=> 5,'cname'=>'娱乐','pid'=> 0), Array('cid'=> 7,'cname'=>'热点新闻','pid'=>2), Array('cid'=> 8,'cname'=>'小众新闻','pid'=> 2), Array('cid'=> 9,'cname'=>'民谣新闻','pid'=> 8), ); functionformatTree($array,$pid= 0,$level= 1,$field=array('pid'=>'pid','id'=>'id','children'=>'children')){ $arr=array(); foreach($arrayas&$v) { if($v[$field['pid']] ==$pid) { $v['level'] =$level; $tem= formatTree($array,$v[$field['id']],$v['level']+1,$field); //判断是否存在子数组 $tem&&$v[$field['children']] =$tem; $arr[] =$v; } } return$arr; } $tree= formatTree($arr,0,1,$field=array('pid'=>'pid','id'=>'cid','children'=>'children') ); echo' ' print_r($tree); ?> |
我们有两个方法来进行软件设计:一个是让其足够的简单以至于让BUG无法藏身;另一个就是让其足够的复杂,让人找不到BUG。前者更难一些。