• 建表的时候,增加一个PID字段用来区别自己所属的分类
id pid name
1 0 汽车
2 1 欧拉
3 1 吉利
4 3 沃尔沃
5 1 大众
  • 代码
/*** 递归实现无限极分类* @param $array 分类数据* @param $pid 父ID* @param $level 分类级别* @return $list 分好类的数组 直接遍历即可 $level可以用来遍历缩进*/function getTree($array, $pid =0, $level = 0){//声明静态数组,避免递归调用时,多次声明导致数组覆盖static $list = [];foreach ($array as $key => $value){//第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点if ($value['pid'] == $pid){//父节点为根节点的节点,级别为0,也就是第一级$value['level'] = $level;//把数组放到list中$list[] = $value;//把这个节点从数组中移除,减少后续递归消耗unset($array[$key]);//开始递归,查找父ID为该节点ID的节点,级别则为原级别+1getTree($array, $value['id'], $level+1);}}return $list;}/** 获得递归完的数据,遍历生成分类*/$array = getTree($array);foreach($array) as $value{echo str_repeat('--', $value['level']), $value['name'].'<br />';}//输出结果 无限极分类实现ok
/**
河北省
--邯郸市
----永年区
--武安市
北京市
--朝阳区
----望京
----酒仙桥
--通州区
**/

PHP null转成空字符串

     public function convertNullToEmptyString($data) {$data = collect($data)->map(function ($value){if (is_null($value)) {return '';}return is_array($value) ? $this->convertNullToEmptyString($value) : $value;});return $data->toArray();}$data = array(['name' => 'shawn','email' => 'shw@qq.com','company' => 'aa'],['name' => '111','email' => 'ssdfas@dasf','company' => 'ssdfa']);var_dump($this->convertNullToEmptyString($data));die;

今日分享:戒烟 戒酒 戒色 戒电影 戒游戏 戒贪食 戒懈怠 远离正能量 做一个对社会有用的人

PHP无限极分类(递归)相关推荐

  1. php实现无限极分类递归调用

    工作中经常使用到使用php递归来进行数据库数据的树状显示,层级显示,无限极分类等 数据库设计的逻辑大概为 比较常见的做法是在建表的时候,增加一个PID字段用来区别自己所属的分类 如下: $array ...

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

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

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

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

  4. php 递归实现无限极分类和排序_php 无限极分类以及使用递归实现的排序方法

    至于添加删除之类的功能我就不多写了!仔细看看就知道这么用了. 难的是显示方面 希望高手扩展一下! 这是类 代码如下:<?php /*=============================== ...

  5. 两种实现php无限极分类

    一.两种实现php无限极分类 设置原始数据 public function index(){$items = array(1 => array('id' => 1, 'pid' => ...

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

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

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

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

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

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

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

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

  10. PHP递归实现无限极分类

    PHP递归实现无限极分类 摘要 今天在编码的时候要用到二级的栏目分类,所以顺便就把无限极分类给整理了一下,采用的是递归方法 //实现无限级分类public function getTree(){$ca ...

最新文章

  1. javaScript设计模式---(单例模式学习)
  2. c#做端口转发程序支持正向连接和反向链接
  3. linux磁盘符变化autofs,Linux基础教程学习笔记之Autofs自动挂载
  4. must override a superclass method
  5. WordPress程序伪静态规则(Nginx/Apache)及二级目录规则
  6. [转]How to Improve Entity Framework Add Performance?
  7. Ubuntu 11.10 快捷键 gnome gFTP 服务器 vsftpd 程序 面板
  8. ip地址伪装php,技术教程:如何使用浏览器插件伪装IP地址
  9. Inno Setup入门(三)——指定压缩方式
  10. Linux系统的查看系统信息和常用监控命令
  11. MODIS数据下载、拼接、裁剪、8天合成月方法以及处理过程中遇到的问题及解决办法(简要整理)
  12. LM1875官方电路图元件作用解释说明以及电路调校
  13. LED设备驱动二之重要代码和调试问题分析
  14. 与领导吃饭需要注意什么
  15. C++基础:模板:函数模板和类模板
  16. php调用天气预报接口,PHP调用百度天气接口API实现查询实时天气
  17. vue实现时间段选择组件,分星期,最小粒度半点
  18. linux卡利系统设置密码,Kail Linux2019.04更新:新增“卧底模式” 模拟Win10界面
  19. Windows下com及word
  20. Debian/Ubuntu 时区和自动校时设置

热门文章

  1. 场效应管调光电路图_MOS管应用电路
  2. 天津科技大学计算机西电,全国“科技大学”前5名 实力不输于顶尖综合类高校...
  3. 玩转Reactjs第一篇-构建工程(create-react-app)
  4. 2023年全国最新安全员精选真题及答案49
  5. 小伙用C/C++编程自制纸牌游戏引擎,拿到月薪30k!
  6. 香港云服务器能加D盘?
  7. 计算机提示没有有效的ip配置,win7电脑提示本地连接没有有效的ip配置怎么解决...
  8. 学生管理系统(Java+MySQL+GUI)
  9. 一种基于μC/OS-III及STM32的多功能控制器
  10. 人工神经网络算法简介