PHP递归实现无限极分类
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递归实现无限极分类相关推荐
- php无极分类非递归_无限极分类算法,对你一定有帮助
无限级分类是开发中常见的情况,也经常会在面试,主考官问到,笔试中遇到,因此本文对常见的无限极分类算法进行总结归纳,其实大多数就是迭代与递归. 1.循环迭代实现 $arr = [1=>['id'= ...
- php不使用递归实现无限极分类
无限极分类常用的是递归,但是比较不好理解,其实可以用数据库path,pid两个字段的设计来实现无限分类的功能 1.数据库设计 通过上图可以看出pid就是该栏目的父id,而path = 父path+pi ...
- php 递归实现无限极分类和排序_Laravel框架实现无限极分类
php中文网最新课程 每日17点准时技术干货分享 最近开发商品功能,在尝试递归和引用方式后,蓦然回首,突然发现laravel框架有更简单高效的实现方式,无限极分类最佳实践,open code与大家共享 ...
- php 递归实现无限极分类和排序_无限极分类的两种方式,递归和引用
说到无限极分类,比较常见的做法是在建表的时候,增加一个parnet_id字段用来区别自己所属的分类(是顶级分类还是子分类) 由于展示数据的时候,需要表达出这种所属关系,所以必然要在读取数据的时候进行一 ...
- php 递归实现无限极分类和排序_php 无限极分类以及使用递归实现的排序方法
至于添加删除之类的功能我就不多写了!仔细看看就知道这么用了. 难的是显示方面 希望高手扩展一下! 这是类 代码如下:<?php /*=============================== ...
- php 递归实现无限极分类和排序_PHP无限级分类实现层级值间用字符串拼接
题目: 如下数组,实现这么一个结果value=10-101-1011,label=万达-蜘蛛侠-已购票,其实就是层级值间用字符串拼接. $example=array(array('value'=> ...
- php 递归实现无限极分类和排序_php递归无限极分类
递归无限级分类有几种形式,我这里仅仅举例比較经常使用的三种: 第一种:返回有排序的数组: $data = array( 1 => array( 'id' => 1, 'pid' => ...
- php 递归实现无限极分类和排序_PHP实现选择排序
这次说说选择排序. 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻 ...
- PHP递归获取无限极分类
<?php$users = [1 => ['id' => 1, 'name' => '及时雨(宋江)', 'leader_id' => 0],2 => ['id' ...
最新文章
- java中action请求_java模拟js发送action请求
- docker--在centos镜像安装mysql
- unity从入门到精通下载_左手Unity右手Unreal
- matlab练习程序(最小二乘多项式拟合)
- CMake2:版本号配置与头文件生成
- LIST_VIEW_和LVITEM用法
- C语言实现数值积分之Simpson 1/3法则(附完整源码)
- frameset和frame
- 离线配置xml的文档类型定义文件(xml语法规则) dtd
- 【LuoguP5004】 专心OI - 跳房子
- python中0o10_Python中最常见的10个问题(列表)
- 《深度学习Python实践》第17章——算法调参
- ZJOI 2008 瞭望塔 三分法
- Python批量下载中国大学MOOC课件
- 攻城狮算保险--理财型,还是消费型?
- 算术平均数及几何平均数
- UG二次开发GRIP刻字
- 微信小程序初始化NPM
- 志愿人生——带给你每一次温暖
- 使用GBase企业管理器执行 select count(1) into @c from t1;报错解决方案
热门文章
- Pygame 整活五子棋
- xx是一个类型 这在给定的上下文_BERT, ELMo, amp; GPT-2: 这些上下文相关的表示到底有多上下文化?...
- mysql编写函数 求1 n 偶数之和,编写求1 2 3 - n的函数.在main函数中调用该函数
- learn python app v3_App Store 上的“Learn Python and Scratch”
- linux升级ssh到6.6版本,CentOS6.5 openssh升级到openssh-7.6版本
- 打包指令_Linux系统常用指令总结
- python将csv文件导入mysql-使用python将csv文件导入Mysql数据库
- Unity c#中Attribute用法详解
- innodb_locks_unsafe_for_binlog分析
- 解决“跨域问题”的几种方法