应用场景

导航栏分类(如商品、课程、城市等)文件夹数据库设计

主要的三个字段:主键id、父级id、名称title。

CREATE TABLE `t_cate` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`pid` int(11) NOT NULL COMMENT '父级id',

`title` varchar(255) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

数据表数据

逻辑

判断依据是:子类的父级id是否等于父级的id

代码实现

// 连接数据库

$db = mysqli_connect('127.0.0.1','root','123456','test');

$sql = 'SELECT * FROM t_cate';

$exe_res = mysqli_query($db, $sql);

$data = mysqli_fetch_all($exe_res,MYSQLI_ASSOC);

// print_r($data);

// 循环 判断 递归

function getTree($arr,$pid=0,$level=1){

static $list = [];

foreach ($arr as $key => $value) {

// 判断子类的父级id 是否等于 父级的id

if($value['pid'] == $pid){

$value['level'] = $level;

$list[] = $value;

unset($arr[$key]); // 删除已排好的数据,减少循环次数

getTree($arr,$value['id'],$level+1); // 递归函数

}

}

return $list;

}

结果展示

这只是简单的实现无限分类功能,虽然在项目开发中还会有其他细节要注意,但是逻辑思路都是一样的。

「实例」php打印星星金字塔

php无限循环分类,php实现无限分类功能相关推荐

  1. C语言fscanf的eof无限循环,使用fscanf时无限循环

    我用C编写了这个简单的程序,因为我现在正在大学学习FILES.我带了一个txt文件,其中包含最后一场比赛的结果列表,所以我的程序将按照我的要求显示格式化的数据.这是我的代码: /* Esercizio ...

  2. css动画无限循环转圈,css3 – 具有无限循环的链CSS动画

    简而言之,没有(一些可以解决的问题) 你的行动画计数:infinte当前正在做的是元素:动画:ani1 3s 0s无限,ani2 3s 9s无限;因此,由于声明的第一个动画的迭代次数为无限,因此永远不 ...

  3. php无限极 left right,php无限极分类实现的两种解决方法

    本篇文章介绍了,在php中无限极分类实现的两种解决方法.需要的朋友参考下 method of classify one<?php /* reader: 这是自己写的无限极分类实现方法 里面的编辑 ...

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

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

  5. php承载,javascript,php_如何防止无限循环的php CPU承载过重?,javascript,php - phpStudy...

    如何防止无限循环的php CPU承载过重? 我写了一只程序,专门在抓某个api 的所提供的数据.然而,为了防止每次insert新数据料后,就必被把旧的数据状态改掉.(不能一直用insert,因为有可能 ...

  6. Android架构师谈:View-Pager-性能优化之-无限循环

    作者:享学课堂Alvin老师 转载请声明出处! ViewPager实现无限滑动 **方案一:**将viewpager上限设置成一个很大的数,第一个页面设置到中间.然后滑动的时候,用当前的序号与view ...

  7. 如何解决 React.useEffect() 的无限循环

    作者:Shadeed 译者:前端小智 来源:dmitripavlutin 点赞再看,微信搜索**[大迁世界],B站关注[前端小智]**这个没有大厂背景,但有着一股向上积极心态人.本文 GitHub h ...

  8. 【骚气的动效】无限循环往下往复淡入淡出运动,通常用于向下箭头,提示用户可以往下滚动或者点击展开

    /* 无限循环往下往复淡入淡出运动 */%auto-down-animate {animation: auto-down-animate 1s ease-in-out infinite;-moz-an ...

  9. php easyui tree 结构,EasyUI Tree树组件无限循环的解决方法

    在学习jquery easyui的tree组件的时候,在url为链接地址的时,发现如果最后一个节点的state为closed时,未节点显示为文件夹,单击会重新加载动态(Url:链接地址)形成无限循环. ...

  10. python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

最新文章

  1. 四川大学计算机学院夏欣,自适应窗口的图像平滑去噪.pdf
  2. (数据挖掘-入门-1)基于用户的协同过滤之最近邻
  3. PPT科研绘图之棱台
  4. 谷歌技术三宝之BigTable
  5. python readline_16.8. readline — GNU readline 接口 — Python 2.7.18 文档
  6. OpenCV笔记(十五)——使用Laplace算子进行图像的边缘检测
  7. 不同分支设置不同的远程仓库
  8. OpenShift 4之设置用户/组对项目的访问权限
  9. angular js 使用pdf.js_胶水(框架) Stencil.js
  10. Fluent Ribbon 第八步 其他控件
  11. 3 Machine-Level Representation 程序的机器级表示
  12. 【电路仿真】基于matlab simulink三相桥式全控整流电路【含Matlab源码 332期】
  13. Android文件资源(raw/data/asset)的存取
  14. linux里的.mht是什么文件,mht是什么文件?打开mht文件的方法
  15. Hbase meta表介绍
  16. 计算机无法访问e盘,win10系统E盘拒绝访问的详细方法
  17. python中奖号_python制作一个简单的中奖系统
  18. Sony索尼HLG灰片电影调色LUT预设合集 HLG CINEMATIC LUTPACK BUNDLE
  19. Ubuntu 安装 uWSGI
  20. 格式化字符串你都懂了吗

热门文章

  1. python中必须要会的四大高级数据类型(字符,元组,列表,字典)
  2. JavaWeb 第一章 HTMLCSS
  3. 嵌入式Linux的内核编译
  4. java多用户商城系统架构之第一篇——总的介绍
  5. CSGO地图制作常见问题
  6. 详解:一次HTTP请求的全过程
  7. oracle创建用户并授权select,oracle创建用户并授权,oracle创建用户并授权select
  8. 美国通胀“爆表”要加息100点?
  9. 学习剪辑的几个要考虑的地方
  10. PHP7.0 的新特性