PHP递归实现无限极分类

摘要

今天在编码的时候要用到二级的栏目分类,所以顺便就把无限极分类给整理了一下,采用的是递归方法

    //实现无限级分类public function getTree(){$categorys = Category::all();return $this->makeTree($categorys, 'cate_id', 'cate_pid', 'cate_name', 0);}public function makeTree($list, $pk = 'id', $pid = 'pid', $child = 'child', $root = 0){$tree = array();foreach ($list as $key => $val) {if ($val[$pid] == $root) {//获取当前$pid所有子类unset($list[$key]);if (!empty($list)) {$tmpChild = self::makeTree($list, $pk, $pid, $child, $val[$pk]);if (!empty($tmpChild)) {$val['_' . $child] = $tmpChild;}}$tree[] = $val;}}return $tree;}

效果如下

PHP递归实现无限极分类相关推荐

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

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

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

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

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

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

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

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

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

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

  6. php 递归实现无限极分类和排序_PHP无限级分类实现层级值间用字符串拼接

    题目: 如下数组,实现这么一个结果value=10-101-1011,label=万达-蜘蛛侠-已购票,其实就是层级值间用字符串拼接. $example=array(array('value'=> ...

  7. php 递归实现无限极分类和排序_php递归无限极分类

    递归无限级分类有几种形式,我这里仅仅举例比較经常使用的三种: 第一种:返回有排序的数组: $data = array( 1 => array( 'id' => 1, 'pid' => ...

  8. php 递归实现无限极分类和排序_PHP实现选择排序

    这次说说选择排序. 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻 ...

  9. PHP递归获取无限极分类

    <?php$users = [1 => ['id' => 1, 'name' => '及时雨(宋江)', 'leader_id' => 0],2 => ['id' ...

最新文章

  1. java中action请求_java模拟js发送action请求
  2. docker--在centos镜像安装mysql
  3. unity从入门到精通下载_左手Unity右手Unreal
  4. matlab练习程序(最小二乘多项式拟合)
  5. CMake2:版本号配置与头文件生成
  6. LIST_VIEW_和LVITEM用法
  7. C语言实现数值积分之Simpson 1/3法则(附完整源码)
  8. frameset和frame
  9. 离线配置xml的文档类型定义文件(xml语法规则) dtd
  10. 【LuoguP5004】 专心OI - 跳房子
  11. python中0o10_Python中最常见的10个问题(列表)
  12. 《深度学习Python实践》第17章——算法调参
  13. ZJOI 2008 瞭望塔 三分法
  14. Python批量下载中国大学MOOC课件
  15. 攻城狮算保险--理财型,还是消费型?
  16. 算术平均数及几何平均数
  17. UG二次开发GRIP刻字
  18. 微信小程序初始化NPM
  19. 志愿人生——带给你每一次温暖
  20. 使用GBase企业管理器执行 select count(1) into @c from t1;报错解决方案

热门文章

  1. Pygame 整活五子棋
  2. xx是一个类型 这在给定的上下文_BERT, ELMo, amp; GPT-2: 这些上下文相关的表示到底有多上下文化?...
  3. mysql编写函数 求1 n 偶数之和,编写求1 2 3 - n的函数.在main函数中调用该函数
  4. learn python app v3_‎App Store 上的“Learn Python and Scratch”
  5. linux升级ssh到6.6版本,CentOS6.5 openssh升级到openssh-7.6版本
  6. 打包指令_Linux系统常用指令总结
  7. python将csv文件导入mysql-使用python将csv文件导入Mysql数据库
  8. Unity c#中Attribute用法详解
  9. innodb_locks_unsafe_for_binlog分析
  10. 解决“跨域问题”的几种方法