/**
* 递归加引用实现无限极分类
* @param $items
* @return array
*/
public function getTree2($items)
{
   $array = [];
    foreach ($items as $item)
    {
     if(isset($items[$item['pid']]))//拿到pid
       {//放到里面
       $items[$item['pid']]['son'][] = &$items[$item['id']];
         }else {
       $array[] = &$items[$item['id']];
       }
   }
return $array;
}

$array = array(
array('id' => 1, 'pid' => 0, 'name' => '河北省'),
array('id' => 2, 'pid' => 0, 'name' => '北京市'),
array('id' => 3, 'pid' => 1, 'name' => '邯郸市'),
array('id' => 4, 'pid' => 2, 'name' => '朝阳区'),
array('id' => 5, 'pid' => 2, 'name' => '通州区'),
array('id' => 6, 'pid' => 4, 'name' => '望京'),
array('id' => 7, 'pid' => 4, 'name' => '酒仙桥'),
array('id' => 8, 'pid' => 3, 'name' => '永年区'),
array('id' => 9, 'pid' => 1, 'name' => '武安市'),
);

Array
(
[1] => Array
(
[id] => 1
[pid] => 0
[name] => 河北省
[children] => Array
(
[0] => Array
(
[id] => 3
[pid] => 1
[name] => 邯郸市
[children] => Array
(
[0] => Array
(
[id] => 8
[pid] => 3
[name] => 永年区
)

)

)

[1] => Array
(
[id] => 9
[pid] => 1
[name] => 武安市
)

)

)

[2] => Array
(
[id] => 2
[pid] => 0
[name] => 北京市
[children] => Array
(
[0] => Array
(
[id] => 4
[pid] => 2
[name] => 朝阳区
[children] => Array
(
[0] => Array
(
[id] => 6
[pid] => 4
[name] => 望京
)

[1] => Array
(
[id] => 7
[pid] => 4
[name] => 酒仙桥
)

)

)

[1] => Array
(
[id] => 5
[pid] => 2
[name] => 通州区
)

)

)

)

通过引用实现php无限极分类的更多相关文章

  1. 分享一个牛逼的PHP无限极分类生成树方法,巧用引用(转)

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

  2. PHP实现无限极分类的两种方式,递归和引用

    面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表的时候,增加一个PID字段用来区别自己所属的分类 $array = array( array('id' => 1, 'pid' =& ...

  3. PHP使用引用实现无限极分类

    PHP实现无限极分类 引用 <?php /** * 无限极分类实现 * @param $list array 需要处理的数组 * @param $pk string 主id * @param $ ...

  4. PHP无限极分类生成树方法,无限分级

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

  5. PHP实现菜单无限极分类

    菜单数据 这里我们的菜单数据是临时数据, 没有从数据库中查询处理,数据基本和数据库中的的相似. 数据如下: $items = array( 1 => array('id' => 1, 'p ...

  6. php 实现无限极分类

    原始数据 $array = array( array('id' => 1, 'pid' => 0, 'n' => '河北省'), array('id' => 2, 'pid' ...

  7. PHP实现无限极分类的两种方式

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

  8. php无限极分类以及递归(thinkphp)

    php无限极分类: 无限极分类重点在于表的设计: 1在model中: class CatModel extends Model{ protected $cat = array(); public fu ...

  9. js实现无限极分类

    转载注明出处!!! 转载注明出处!!! 转载注明出处!!! 因为要实现部门通讯录,后台传来的数据是直接从数据库里拿的部门表,所以没有层级分类,只有parentId表示从属关系,所以分类的事情就交给我来 ...

  10. C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现之方法二:加入缓存机制

    在上一篇文章中我用递归方法实现了管理菜单,在上一节我也提到要考虑用缓存,也算是学习一下.Net Core的缓存机制. 关于.Net Core的缓存,官方有三种实现: 1.In Memory Cachi ...

随机推荐

  1. java中的HashSet

    什么是HashSet 在 Java 中,HashSet 是一个基于哈希表实现的集合类,它实现了 Set 接口 HashSet 的主要特点是:1,2 HashSet 的主要特点是 1,集合中的数据不能够 ...

  2. 对比使用DeepSeek与文新一言,了解DeepSeek的关键技术论文

    DeepSeek是国内大模型技术的新秀,最近也在业界和媒体界火爆出圈,所以想学习一下其技术. 大模型时代,学习知识,当然首先想到利用大模型,由于在过去一年,对DeepSeek使用不多,所以想和文新一言 ...

  3. 从理房间到移动零:一道考察数组操作的经典题目|LeetCode 283 移动零

    LeetCode 283 移动零 点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中) 生活中的算法 你有没有整理过房间?常常会发现一些要丢掉的东西,但又不想立刻处 ...

  4. CentOS7安装nvm和node

    一.安装nvm 官方文档:https://github.com/nvm-sh/nvmwindows版文档:https://github.com/coreybutler/nvm-windowswindo ...

  5. VMware的快照原理

    本文分享自天翼云开发者社区<VMware的快照原理>,作者:m****n VMware的快照是基于数据块的快照.快照也是以一个文件方式存在的,缺省位置和虚拟机在同一目录下,它是一个Delt ...

  6. [HDU4625] JZPTREE+[国家集训队] Crash 的文明世界 题解

    老师发福利,放了两道一毛一样的题. 考虑无视战术,直接化简: \[\sum_{v=1}^ndis(u,v)^k=\sum_{v=1}^n\sum_{i=0}^k\begin{Bmatrix}k\\i\ ...

  7. keil优化等级说明 keil code optimization

    其中 0级(Constan folding)的优化包括: a.常数折叠:只要有可能,编译器就执行将表达式化为常数数字的计算,其中包括运行地址的计算. b. 简单访问优化:对8051系统的内部数据和位地 ...

  8. Thymeleaf Split

    <th:block th:each="image : ${#strings.listSplit(goods.images, ';')}"> <img th:src ...

  9. Typecho 从零开始搭建个人博客详细教程

    搭建Typecho个人博客需要进行一些准备工作.以下是大致的教学步骤: 1. 准备工作:    - 一台支持PHP和MySQL的服务器,可以是虚拟主机或者自己搭建的服务器.    - 一个域名,用于访 ...

  10. MySQL - [20] 事务

    题记部分 一.什么是ACID (1)Atomicity 原子性 某个操作,要么全部执行完毕,要么全部回滚. (2)Consistency 一致性 数据库中的数据全都符合现实世界中的约束,则这些数据就符 ...