900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 谈一次php无限极分类的案例 php无限极分类显示 php无限极分类下拉框 php无限极分类函

谈一次php无限极分类的案例 php无限极分类显示 php无限极分类下拉框 php无限极分类函

时间:2019-02-12 01:56:34

相关推荐

谈一次php无限极分类的案例 php无限极分类显示 php无限极分类下拉框 php无限极分类函

后端开发|php教程

php,无限极

后端开发-php教程

作者:白狼 出处:http://www.manks.top/php_tree_deep.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。原文有图片。

淘宝客cms源码分享,ubuntu运维日志,爬虫小程序下载,php输出option,衢州快照seolzw

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

易语言聊天器源码,vscode登录同步,ubuntu镜像源下载教程,配置tomcat显示,sqlite数据变动监测,wordpress插件制作,ps前端框架是什么,爬虫批量下载图片,反序列化php,SEO如何优化电池,文件签收网站源码,css div网页布局代码,html5静态页模板,wap页面样式模版,项目任务管理系统源代码,微擎小程序答题源码lzw

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

p2p播放器源码,ubuntu终端屏幕大小,tomcat的卸载与安装,爬虫产品购买,php图片转全景,河北抖音seo关键词排名哪家好lzw

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

看上去表结构很简单。

我们插入几条测试数据

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无限极分类的案例,包括了php,无限极方面的内容,希望对PHP教学有兴趣的朋友有所帮助。

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