1. 程式人生 > 程式設計 >ThinkPHP選單無極分類例項講解

ThinkPHP選單無極分類例項講解

效果圖如下

ThinkPHP選單無極分類例項講解

controller控制器程式碼: 

  /**
  * 選單列表
  */
  public function index(){ 
		$menuList= Db::name('menu')->order('sort,id')->select();
		//遞迴排序
		$menuList= $this->sort($menuList);
		$this->assign('menuList',$menuList);	
    return view();	
  }
	protected function sort($data,$pid=0,$level=0){
		//此處資料必須是靜態陣列,不然遞迴的時候每次都會宣告一個新的陣列
		static $arr = array();
    foreach ($data as $key=>$value){
      if($value['pid'] == $pid){
      www.cppcns.com
$value["level"]=$level; $arr[]=$value; //unset()用於銷燬指定的變數 unset($this->data[$key]); $this->sort($data,$value['id'],$level+1); } } return $arr; }

html模板程式碼:

<tbody&ghttp://www.cppcns.comt;
{volist name="menuList" id="v程式設計客棧o" key="index"}
  <tr>
    <td class="text-left">www.cppcns.com
; <?php if($vo['pid']!=0) echo str_repeat("&nbsp;",$vo["level"]*3).'├╌ ' /*str_repeat()函式把ODauEqxI字串重複指定的次數。*/ ?> {$vo.name} </td> </tr> {/volist} </tbody>

到此這篇關於ThinkPHP選單無極分類例項講解的文章就介紹到這了,更多相關ThinkPHP選單無極分類內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!