<?php$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 findSons ($arr, $id) {$sons = array();foreach ($arr as $v) {if ($v['parent'] == $id) {$sons[] = $v;}}return $sons;
}function subTree ($arr, $id, $levl) {$subs = array();foreach ($arr as $v) {if ($v['parent'] == $id) {$v['levl'] = $levl;$subs[] = $v;//为什么不能使用levl++?因为在执行到北京的时候,$levl自加了1,就变为2了$subs = array_merge($subs, subtree($arr, $v['id'], $levl + 1));}}return $subs;
}//$subs = subTree($area, 0, $levl = 1);
//foreach($subs as $v) {
//    echo str_repeat('--', $v['levl']) . $v['name']. "<br>";
//}function familyTree ($arr, $id) {$tree = array();foreach ($arr as $v) {if ($v['id'] == $id) {if ($v['parent'] > 0) {//在此处传入$v['parent'],其值就是父元素的id$tree = array_merge($tree, familyTree($arr, $v['parent']));}$tree[] = $v;}}return $tree;
}print_r(familyTree($area, 3));

PHP实现无限极分类代码相关推荐

  1. php代码实现无限极分类,PHP实现无限极分类_php

    利用两个for循环实现无限级分类 表: 字段名 字段类型 备注 默认值 id int 主键 auto-increment name varchar 分类名称 pid int 父类id 0 顶级分类的 ...

  2. php实现无限分类超牛逼,PHP超牛逼无限极分类生成树方法_php技巧

    你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了. 这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了. 代码如下: fun ...

  3. 无限极分类原理与实现

    前言 无限极分类是我很久前学到知识,今天在做一个项目时,发现对其概念有点模糊,所以今天就来说说无限极分类. 首先来说说什么是无限极分类.按照我的理解,就是对数据完成多次分类,如同一棵树一样,从根开始, ...

  4. php无极分类非递归_无限极分类算法,对你一定有帮助

    无限级分类是开发中常见的情况,也经常会在面试,主考官问到,笔试中遇到,因此本文对常见的无限极分类算法进行总结归纳,其实大多数就是迭代与递归. 1.循环迭代实现 $arr = [1=>['id'= ...

  5. 无限极分类不知pid_PHP实现无限极分类

    导读:说到无限极分类,这个在程序中是常见的一个功能点了.实现的方式也有很多种,今天着重分享一下涉及到数据库的无线分类,可以使用递归处理,也可以使用循环查询数据库处理.但是我们考虑到数据库的性能问题,都 ...

  6. php 递归实现无限极分类和排序_Laravel框架实现无限极分类

    php中文网最新课程 每日17点准时技术干货分享 最近开发商品功能,在尝试递归和引用方式后,蓦然回首,突然发现laravel框架有更简单高效的实现方式,无限极分类最佳实践,open code与大家共享 ...

  7. TreeView无限极分类绑定(从数据库读取数据源)

    TreeView这个控件其实我本来不怎么会用到,今天有一个项目要用到,而且是无限极的分类数据绑定,于是就根据自己以前写过的代码别写出了这个无限极分类的例子,呵呵希望能够对大家有所帮助,本人尽量把注释写 ...

  8. php根据分类生成网址,PHP实现无限极分类生成分类树的方法

    本文实例讲述了PHP实现无限极分类生成分类树的方法.分享给大家供大家参考,具体如下: 现在的分类数据库设计基本都是:每一个分类有一个id主键字段,一个pid指向父类的id,这样便可实现无限级分类,取出 ...

  9. php 生成树,PHP超牛逼无限极分类生成树方法

    你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了. 这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了. function ...

最新文章

  1. springmvc 传对象报400_源码导读:深入理解SpringMVC报400时的流程
  2. python网上编程课程-少儿编程 为你解读Python编程课程
  3. Springboot+Apollo
  4. Python开发基础--- 进程间通信、进程池、协程
  5. java大量浮点数如何作比较,Java如何正确比较浮点数
  6. linux mint 自动更新设置,如何升级到Linux Mint 19.1
  7. Android内部类监听和多对象监听方法
  8. selenium2 webdriver要点理解
  9. tinyXml解析XML文件
  10. 职场“奇葩说”:我的老板有多坑?
  11. 灵飞经 ①洪武年间 第一章金陵歌舞
  12. 复制粘贴之后出现问号怎么办_CAD图形文字复制粘贴以后出现变化该怎么办?
  13. AWNet: Attentive Wavelet Network for Image ISP AWNet:图像 ISP 的注意力小波网络(个人笔记,勿喷)
  14. 量子力学最新发现:人不会真正死去
  15. 高性能两级缓存J2Cache
  16. python创建长度为20的列表_如何在python中创建固定大小列表?
  17. 10款比较好用的网页设计工具
  18. idea莫名其妙打不开了怎么办
  19. 【更新】时隔半月dz论坛自动回复器(zygx8专属)终于完工
  20. 基于STC89C52RC单片机制作的红外循迹小车(4个传感器)

热门文章

  1. JAVA洛谷B2117 整理药名
  2. 论文精读:Selective Convolutional Descriptor Aggregation
  3. GCC编译静态库的-fPIC选项
  4. qt 文件大图标、列表等样式切换_跬步千里,厚积薄发:深度操作系统v15.9版正式发布...
  5. hmmlearn使用简介
  6. initWithFrame/initWithCode/awakeFromNib调用
  7. Window脚本学习笔记之定时关闭进程
  8. discuz论坛添加、更换返回顶部图标
  9. 你可以跑不赢刘翔,但一定要跑赢CPI
  10. HTTPS(对称加密+非对称加密+证书)