PHP燕十八 课堂笔记------递归 无限极分类
2012-11-26 19:51
375 查看
<?php /**** 燕十八 公益PHP讲堂 论 坛: http://www.zixue.it 微 博: http://weibo.com/Yshiba YY频道: 88354001 ****/ /*** ====笔记部分==== 用迭代法找子孙树 ***/ $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 subtree($arr,$parent=0) { $task = array($parent); // 任务表 $tree = array(); // 地区表 while(!empty($task)) { $flag = false; foreach($arr as $k=>$v) { if($v['parent'] == $parent) { $tree[] = $v; array_push($task,$v['id']); // 把最新的地区id入任务栈 $parent = $v['id']; unset($arr[$k]); // 把找到单元unset掉 $flag = true; //说明找到了子栏目 } } if($flag == false) { array_pop($task); $parent = end($task); } //print_r($task); } return $tree; } print_r(subtree($area,0));
相关文章推荐
- PHP实现无限极分类[!笔记]
- PHP递归实现无限极分类
- php通过前序遍历树实现无需递归的无限极分类
- 工作中常用的php递归实现无限极分类的2种函数
- php递归无限极分类
- 预排序遍历树算法(非递归无限极分类算法)学习笔记
- php之利用递归写无限极分类
- 燕十八PHP公益课堂学习笔记
- php无限极分类以及递归(thinkphp)
- php递归无限极分类
- PHP实现无限极分类的两种方式,递归和引用
- PHP无限极分类技术(一)——递归无限分类原理
- 燕十八 PHP课堂笔记----级联目录
- php通过前序遍历树实现无需递归的无限极分类
- php无限极分类递归排序实现方法
- php学习笔记六--无限级分类、递归转义
- php递归无限极分类实例
- php之利用递归写无限极分类
- php无限极分类递归排序实现方法
- php 几种常用的递归 无限极分类