本文实例讲述了thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法。分享给大家供大家参考,具体如下:
这里使用thinkphp递归循环栏目按照树形结构无限极输出,并保存为一个数组,利于模板调用
具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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递归栏目保存为数组
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。