相信很多朋友在做项目都会遇到获取不同级别分类的问题,今天给大家分享一个代码,希望能够帮助到大家,大家有更好的方式也可以分享分享,一起研究研究,不喜勿喷!
表设计:id(自身ID),pid(父级ID)

/*** tree 子菜单* @param $data* @param str $childrenname 子栏目索引名称* @return array*/function get_tree_children($data, $childrenname = 'children'){$list = array();foreach($data as $value){$list[$value['id']] = $value;}static $tree = array(); //格式化好的树foreach ($list as $item){//有父级ID的if (isset($list[$item['pid']])){$list[$item['pid']][$childrenname][] = &$list[$item['id']];}else{$tree[] = &$list[$item['id']];}}return $tree;}

这个是来自CEMEB系统封装的方法,感觉效率挺高,比递归效率高太多了

php无限极分类设计,递归方式已经淘汰了相关推荐

  1. php 引用 无限极分类,php 无限极分类(递归Or引用两种方法)

    项目中有很多地方需要用到无限极分类,之前数据量比较少,用递归方法虽然慢但是还可以接受,但是现在的数据量接近4万,php处理递归比较吃亏,递归100次就已经很难跑动了,无奈之下又得选择其它的方法,引用. ...

  2. PHP无限极分类(递归)

    建表的时候,增加一个PID字段用来区别自己所属的分类 id pid name 1 0 汽车 2 1 欧拉 3 1 吉利 4 3 沃尔沃 5 1 大众 代码 /*** 递归实现无限极分类* @param ...

  3. 无限极分类中递归查找一个树结构

    问题:设计公司的员工表,员工有不同级别,要求可通过一个员工查到其下属的所有员工,也可查到其所属的上级. 解决:递归实现无限分类思想,每一个员工存入其所属的上级的id作为自己的pid,另外存入path, ...

  4. php 无限极分类(两种方式)

    第一种: public function comment() {$data = $this->com_list();$this->succ('操作成功',$data);}protected ...

  5. php无限极递归概念,php无限极分类递归与普通

    1. 递归 public function getInfo(){ $data=$this->select(); $arr=$this->noLimit($data,$f_id=0,$lev ...

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

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

  7. php不使用递归实现无限极分类

    无限极分类常用的是递归,但是比较不好理解,其实可以用数据库path,pid两个字段的设计来实现无限分类的功能 1.数据库设计 通过上图可以看出pid就是该栏目的父id,而path = 父path+pi ...

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

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

  9. php 无限极分销,PHP实现无限极分类的两种方式

    无限极分类说简单点就是一个类可以分成一个分子类,然后一个子类又可以分另一个子类这样无限分下去,就是好象windows可以新建一个文件夹,然后在这个文件夹里又可以建一个文件夹,PHP要实现无限极分类有两 ...

最新文章

  1. select 实现server I/O多路复用通信
  2. hibernate中的映射文件xxx.hbm.xml详解总结
  3. 百度“如流”开启智能办公模式,“四两拨千斤”开启差异化模式
  4. C#调用SQL Server分页存储过程
  5. swfheader 0.10 Released(已更正下载地址)
  6. 《ASP.NET Core 微服务实战》-- 读书笔记(第6章)
  7. STM32之内部FLASH例程
  8. 成信大c语言答案P239.C,2011秋季江苏省计算机二级C语言试题与答案.doc
  9. 超棒的30款JS类库和工具
  10. C语言单链表的应用,单链表应用
  11. excel对比_EXCEL对比图的用法
  12. 有监督的神经网络模型
  13. STK X教程—C++/CLI
  14. 部署 - 前端部署https服务,并配置安全证书
  15. 第六章 多元函数微分学
  16. 刷机!刷机!!刷机!!!
  17. column xxx is of type integer but expression is of type character varying。String的成员变量存到int的数据库列 报错
  18. 相邻数对和Python学习---多维缩减
  19. linux红外遥控进程,46.Linux-分析rc红外遥控平台驱动框架,修改内核的NEC解码函数BUG(1)...
  20. 使用物价水平修正票房数据,长津湖还是票房冠军吗?

热门文章

  1. 使用pycaffe读取caffemodel参数(保存到txt文件)
  2. c++ fstream用法
  3. keepalived 服务器内存持续升高问题
  4. 《C++编程风格(修订版)》——2.5 动态内存的一致性
  5. 【学习笔记】观察者模式
  6. 查md5或者sha1值
  7. star rating
  8. 双击Jar的启动方法
  9. 无法嵌入互操作类型“……”,请改用适用的接口的解决方法
  10. jquery 里面对数组去重操作-unique