PHP数组实现菜单无限极分类

1、待处理数组

$items = array(1 => array('id' => 1, 'pid' => 0, 'name' => '安徽省'),2 => array('id' => 2, 'pid' => 0, 'name' => '浙江省'),3 => array('id' => 3, 'pid' => 1, 'name' => '合肥市'),4 => array('id' => 4, 'pid' => 3, 'name' => '长丰县'),6 => array('id' => 6, 'pid' => 4, 'name' => '小溪村'),5 => array('id' => 5, 'pid' => 1, 'name' => '安庆市'),);

2、处理方法

//递归处理数据function generateTree($list, $pk = 'id', $pid = 'pid', $child = '_child', $root = 0){$tree     = array();$packData = array();foreach ($list as $data) {$packData[$data[$pk]] = $data;}foreach ($packData as $key => $val) {if ($val[$pid] == $root) {$tree[] = &$packData[$key]; //代表跟节点, 重点一} else {$packData[$val[$pid]][$child][] = &$packData[$key]; //找到其父类,重点二}}return $tree;}

3、执行结果

array (0 => array ('id' => 1,'pid' => 0,'name' => '安徽省','_child' => array (0 => array ('id' => 3,'pid' => 1,'name' => '合肥市','_child' => array (0 => array ('id' => 4,'pid' => 3,'name' => '长丰县','_child' => array (0 => array ('id' => 6,'pid' => 4,'name' => '小溪村',),),),),),1 => array ('id' => 5,'pid' => 1,'name' => '安庆市',),),),1 => array ('id' => 2,'pid' => 0,'name' => '浙江省',),
)

4、转载地址

PHP实现菜单无限极分类

PHP数组实现菜单无限极分类相关推荐

  1. php菜单无限极分类

    php菜单无限极分类 function getTree($data, $pId='0') {$tree = [];foreach ($data as $k => $v) {if ($v['pid ...

  2. 前台特效(9)无限极分类折叠菜单

    在程序中经常会用到无限极分类菜单,经常性的会被绕的头昏脑胀,整理了一个简洁的方式,希望对你有帮助,轻喷!! <!DOCTYPE html><!-- by longdd 2013.4. ...

  3. php无限级分类是什么意思,php无限极分类是什么意思

    php无限极分类简单点说就是一个类可以分成多个子类,然后一个子类又可以分另外多个子类这样无限分下去,就好象windows可以新建一个文件夹,然后在这个文件夹里又可以建一些个文件夹,在文件夹底下还可以建 ...

  4. php无极限分类讲解,php无限极分类入门教程

    这篇文章主要介绍了PHP无限极分类函数的实现方法,结合实例形式详细分析了php实现无限极分类的具体思路.实现代码与相关注意事项,需要的朋友可以参考下本文实例讲述了PHP无限极分类函数的实现方法.分享给 ...

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

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

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

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

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

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

  8. 无限极 php算法,无限极分类算法,对你一定有帮助

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

  9. 无限级分类 php_php无限极分类的方法是什么

    今天给大家带来的是php的无限极分类技术,本人把无限极分类划分为两种.具体方法如下: 首先我把数据库表给大家看看,数据库是tasks,数据库表也是tasks. 相关推荐:<PHP教程> 第 ...

  10. php 递归实现无限极分类和排序_无限极分类的两种方式,递归和引用

    说到无限极分类,比较常见的做法是在建表的时候,增加一个parnet_id字段用来区别自己所属的分类(是顶级分类还是子分类) 由于展示数据的时候,需要表达出这种所属关系,所以必然要在读取数据的时候进行一 ...

最新文章

  1. 《MySQL技术内幕:InnoDB存储引擎》读书笔记
  2. 创建QT项目时只有.pro文件,源文件和头文件
  3. 如何在mapinfo中查看link ID
  4. switch…case语句注意事项
  5. redis核心与实战(一)数据结构篇
  6. matlab中round函数_Excel中round函数的使用方法
  7. 新店铺怎么做?淘宝店铺如何引流做好基础销量?
  8. PMSM的MTPA曲线绘制及其参数拟合——基于Matlab的AppDesigner
  9. java实现qq登录界面_java实现简单的QQ登录界面
  10. 国际服登陆显示服务器维护中,国际服显示服务器在维护中怎么办 教你一招解决服务器维护中什么意思...
  11. 用笔记本做wifi热点
  12. Mysql语句编写循环
  13. 问题 G: 流连人间的苏苏
  14. Bootstrap 下拉菜单(Dropdown)插件
  15. org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map java.util.Map
  16. android 基础 materia design 设计
  17. 全网分析HTTP协议最全的一篇文章,程序员赶紧收藏
  18. 技术系统进化法则包括_技术系统进化法则_十六种典型创新方法
  19. TinyDDS编程实践
  20. win7 计算机不显示收藏夹,Win7系统计算机的收藏夹打不开怎么办

热门文章

  1. 数据结构 周末舞会(循环队列解法)
  2. js ...运算符_JS专题之深浅拷贝
  3. 宝塔界面,添加数据库,数据库管理密码错误!
  4. 山西工商学院计算机科学与技术专业怎么样,山西工商学院计算机科学与技术专业2016年在山西理科高考录取最低分数线...
  5. 区块如何防篡改_CFCA联盟链荣获“2020区块链技术与应用创新成果”奖
  6. python信用卡违约预测分析_数据挖掘实战(1) : 信用卡违约率分析
  7. MySQL怎么建两个table_在MySQL中使用带有两个表的UNION的CREATE TABLE AS语句
  8. python中对象的定义_全面了解python中的类,对象,方法,属性
  9. phpstudy apache启动不了,也不报错误日志
  10. 使用.NET Core搭建分布式音频效果处理服务(一)需求、问题和解决方案的几个坑...