thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法


Posted in PHP onMay 19, 2016

本文实例讲述了thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法。分享给大家供大家参考,具体如下:

这里使用thinkphp递归循环栏目按照树形结构无限极输出,并保存为一个数组,利于模板调用

具体代码如下:

private function categoryTree($parentid,$level)
//因为是本类中使用所以定于为私有函数
{
$Category= D('Category');
$result = $Category->where("`parentid`=".$parentid)->order("listorder desc,catid desc")->select();
if($result)
{
$count=count($result);//当前子栏目个数
$level++;//子栏目层级
foreach($result as $v)
{
$index++;
if($count==$index) $step="└─";
else $step="├─";
$step.=str_repeat('  ',$level-1);
$nbsp=str_repeat('   ',$level-1);
$nstr=$nbsp.$step;
if($parentid==0) $nstr='';
$v['step']=$nstr;
$newData[$v['catid']]=$v;
//echo $nstr.$v['catname']."<br />";
if($v['child']==1)//如果有子栏目
{
$newData=$newData+$this->categoryTree($v['catid'],$level);
}
}
}
return $newData;
}

php递归栏目保存为数组

PHP 相关文章推荐
C# Assembly类访问程序集信息
Jun 13 PHP
PHP var_dump遍历对象属性的函数与应用代码
Jun 04 PHP
php设计模式 Command(命令模式)
Jun 26 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
Nov 10 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
解析PHP 使用curl提交json格式数据
Jun 29 PHP
PHP循环结构实例讲解
Feb 10 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
php实现获取文章内容第一张图片的方法
Nov 04 PHP
php批量删除cookie的简单实现方法
Jan 26 PHP
php上传文件常见问题总结
Feb 03 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
Sep 04 PHP
php处理json格式数据经典案例总结
May 19 #PHP
CI框架整合smarty步骤详解
May 19 #PHP
PHP QRCODE生成彩色二维码的方法
May 19 #PHP
PHP下载文件的函数实例代码
May 18 #PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 #PHP
CI框架的安全性分析
May 18 #PHP
PHP的swoole扩展安装方法详细教程
May 18 #PHP
You might like
新浪新闻小偷
2006/10/09 PHP
桌面中心(二)数据库写入
2006/10/09 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
php去除数组中重复数据
2014/11/18 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
DOM 基本方法
2009/07/18 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
RequireJs的使用详解
2017/02/19 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
2017/03/02 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
AngularJS创建一个上传照片的指令实例代码
2018/02/24 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
Python3.2中Print函数用法实例详解
2015/05/19 Python
python实现网站的模拟登录
2016/01/04 Python
如何在Python中编写并发程序
2016/02/27 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
对python中list的五种查找方法说明
2020/07/13 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
自荐信的禁忌和要点
2013/10/15 职场文书
倡议书范文格式
2014/05/12 职场文书
毕业生求职信
2014/06/10 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android