本文實(shí)例講述了thinkPHP實(shí)現(xiàn)遞歸循環(huán)欄目并按照樹(shù)形結(jié)構(gòu)無(wú)限極輸出的方法。分享給大家供大家參考,具體如下:
這里使用thinkphp遞歸循環(huán)欄目按照樹(shù)形結(jié)構(gòu)無(wú)限極輸出,并保存為一個(gè)數(shù)組,利于模板調(diào)用
具體代碼如下:
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 ) //因?yàn)槭潜绢?lèi)中使用所以定于為私有函數(shù) { $Category = D( 'Category' ); $result = $Category ->where( "`parentid`=" . $parentid )->order( "listorder desc,catid desc" )->select(); if ( $result ) { $count = count ( $result ); //當(dāng)前子欄目個(gè)數(shù) $level ++; //子欄目層級(jí) 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遞歸欄目保存為數(shù)組
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。