无限极分类之查找家谱树
来源:互联网 发布:单片机连接马达 编辑:程序博客网 时间:2024/05/06 13:22
方法一:用递归法
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/><?phpfunction subtree($arr,$parent){static $subs=array();foreach($arr as $v){if($v['id']==$parent){subtree($arr,$v['parent']);$subs[]=$v;}}return $subs;}$arr=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),); $tree=subtree($arr,2); foreach($tree as $v){ echo $v['name'],'<br/>'; }
方法二:用迭代法
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/><?php$arr=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 familytree($arr,$id){$tree=array();while($id!==0){foreach($arr as $v){if($v['id']==$id){$tree[]=$v;$id=$v['parent'];}}}return $tree;}print_r(familytree($arr,8)) ; 迭代效率高,推荐用迭代法!!!
阅读全文
0 0
- 无限极分类之查找家谱树
- 无限级分类之递归查找家谱树
- 无限级分类之迭代查找家谱树
- 无限级分类之循环家谱树
- php 递归无限级分类应用之打印子栏目,打印子孙栏目,打印家谱树
- 无限级分类之查找子孙树
- 无限极分类php实现—查子孙树、家谱树
- 无限极分类查找子孙树
- 无限级分类之递归查找子孙树
- 无限级分类之迭代查找子孙树
- 递归 ---无限极分类中递归查找一个树结构
- 树分类,无限极分类
- 递归无限极查找上级分类
- php之无限极分类
- php之无限极分类
- php之无限极分类
- php之无限极分类
- php之无限极分类
- 用RxJava实现事件总线(Event Bus)
- VS“提示无法启动调试未安装Silverlight”的解决办法
- 二分法查找
- android 逆向工程apktool dex2jar jd-gui Jadx Smali2Java
- bzoj2438 [中山市选2011]杀人游戏
- 无限极分类之查找家谱树
- 矩阵求逆引理(matrix inversion lemma)
- ASP.NET MVC 远程下载文件
- 在macOS Sierra dock栏中增加钥匙串访问
- 每段时间Android开发10个知道(基础系列)-170602
- STM32-SPI之OLED
- opencv实现canny边缘提取
- opencv实现sobel边缘检测
- opencv图像污点修复