1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 深入浅析PHP无限极分类的案例教程【PHP】

深入浅析PHP无限极分类的案例教程【PHP】

时间:2021-12-10 01:04:39

相关推荐

深入浅析PHP无限极分类的案例教程【PHP】

后端开发|php教程

php无限极分类

后端开发-php教程

平时开发中或多或少不可避免会遇到无限极分类的问题,因为效率、逻辑等问题也一直使这类问题比较尖锐。今天我们以yii2框架为基础,栏目无限极为例,对这个问题进行一个简单的处理。

个人微信支付免签源码,ubuntu附加驱动选择,华为云服务部署Tomcat,portia爬虫优缺点,php建网站很难吗,seo2357lzw

首先我们有一张栏目数据表 tree

易语言发送消息源码,mac安装vscode,ubuntu防火墙,iis tomcat,,网页设计国外设计欣赏网站,数据库一条数据多大空间,下载服务器要多少带宽,acfun采集插件,移动前端ui框架,爬虫多线程,php 表单,网站seo排名,idea导入springboot项目,phpcms tag标签伪静态,手机网站平台,网页出现文字竖排了,dreamweaverhtml模板,官网后台怎么上传图片,js跳转页面到指定 div,vb是数据库管理系统吗,易语言程序图片lzw

表结构如下图(原文有图)

diy 源码,vscode比特币插件,ubuntu停止下载,tomcat增加项目配置,爬虫 clearfix,php exec 超时,沈阳seo排名贵吗,简单的cs网站项目源代码,商城网站的模板html5lzw

看上去表结构很简单。

我们插入几条测试数据

INSERT INTO `tree` (`id`, `parent_id`, `name`) VALUES (1, 0, A), (2, 0, B), (3, 1, a), (4, 3, aa), (5, 2, ), (6, 4, aaa);

树形结构大致如下

|A

|–a

|—-aa

|——aaa

|B

|–b

这也正是我们所需要的数据结构形式,下面我们来看看如何处理才能够得到所需要的结果。

我们前面也说了,以yii2为基础,因此我们的写法也按照面向对象的规则来

class tree { //访问index查看树形结构 public function actionIndex () { $data = self::getTree(); //为了方便测试,我们这里以json格式输出 \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return $data; } //获取树 public static function getTree () { //这里我们直接获取所有的数据,然后通过程序进行处理 //在无限极分类中最忌讳的是对数据库进行层层操作,也就很容易造成内存溢出 //最后电脑死机的结果 $data = static::find()->all(); return self::_generateTree($data); } //生成树 private static function _generateTree ($data, $pid = 0) { $tree = []; if ($data && is_array($data)) { foreach($data as $v) { if($v[parent_id] == $pid) { $tree[] = [ id => $v[id], ame => $v[ ame], parent_id => $v[parent_id], children => self::_generateTree($data, $v[id]), ]; } } } return $tree; } }

我们访问下tree/index看看,效果图如下

这样我们可以看到一个很清晰的树形结构图,也就是我们最终所需要的。

关于PHP无限极分类的案例教学就给大家介绍这么多,希望对大家有所帮助!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。