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 相关文章推荐
php 批量添加多行文本框textarea一行一个
Jun 03 PHP
destoon找回管理员密码的方法
Jun 21 PHP
对PHP PDO的一些认识小结
Jan 23 PHP
PHP实现GIF图片验证码
Nov 04 PHP
Centos6.5和Centos7 php环境搭建方法
May 27 PHP
php的debug相关函数用法示例
Jul 11 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
Aug 07 PHP
用PHP的反射实现委托模式的讲解
Mar 22 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 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
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
jquery ajax 登录验证实现代码
2009/09/23 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
浅谈javascript中的闭包
2015/05/13 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
python简单商城购物车实例代码
2018/03/15 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
Python logging模块写入中文出现乱码
2020/05/21 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
生产总经理岗位职责
2013/12/19 职场文书
廉洁使者实施方案
2014/03/29 职场文书
股东协议书范本
2014/04/14 职场文书
《春雨》教学反思
2014/04/24 职场文书
家庭贫困证明
2014/09/23 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
高三语文复习计划
2015/01/19 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
php png失真的原因及解决办法
2021/10/24 PHP