无限级分类的非递归算法
2016-07-05 15:59
423 查看
/* 无限级分类的非递归算法 $item 数组 事例数据 array (size=75) 0 => array (size=4) 'id' => int 1 'name' => string '* [1 业务aa协议]' (length=20) 'pid' => int 0 'caseID' => null 1 => array (size=4) 'id' => int 2 'name' => string '* [1.1 协议格式]' (length=20) 'pid' => int 1 'caseID' => null 2 => array (size=4) 'id' => int 3 'name' => string '* [1.1.1 协议说明]' (length=22) 'pid' => int 2 'caseID' => null 3 => array (size=4) 'id' => int 4 'name' => string '* [1.1.2 输入参数]' (length=22) 'pid' => int 2 'caseID' => null ......... 数组的主键值是与ID有关系的 */ function generateTree($items){ $tree = array(); var_dump($items); foreach($items as $item){ if(isset($items[$item['pid']-1])) $items[$item['pid']]['son'][] = &$items[$item['id']]; else $tree[] = &$items[$item['id']]; } return $tree; }
相关文章推荐
- ArcGIS Server 标准版和高级版在Web3D的区别
- 10+年程序员总结的20+条经验教训
- 手势 获取tag值
- 公钥分发
- Entity Framework:Code-First Tutorial开篇
- 使用Python将HTML转成PDF
- MapReduce开发程序,运行环境配置
- fread()
- struts2添加需要的jar包
- 在VS Code上搭建Python开发环境
- VC PreTranslateMessage函数详解
- Android中ListView的优化
- weakreference 用法
- Golang中的并发
- 机器学习的学习路径
- 更新了MDK4.6之后的版本后TKStudio无法编译链接的解决办法
- Linux内存分布
- 解决C/C++程序执行一闪而过的方法(三种办法)
- wamp集成环境 开启rewrite伪静态支持
- 数据仓库,从数据仓库到大数据,数据平台这25年是怎样进化的