婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > CMSPRESS 10行代碼搞定 PHP無限級分類2

CMSPRESS 10行代碼搞定 PHP無限級分類2

熱門標簽:長沙做地圖標注公司 地圖標注專員怎么樣 福建銀行智能外呼系統價格 上海做外呼線路的通信公司 寧波外呼營銷系統 遼寧ai電銷機器人價格 四川保險智能外呼系統供應商 房產中介用的是什么外呼系統 電話機器人銷售主要負責什么

超級無限分類 使用簡單 效率極高 核心代碼10行不到
另外 求這個分類的不足,和更高效簡單的無限分類方法 ^_^

核心代碼如下

class Tool {
  static public $treeList = array(); //存放無限分類結果如果一頁面有多個無限分類可以使用 Tool::$treeList = array(); 清空
  /**
   * 無限級分類
   * @access public 
   * @param Array $data   //數據庫里獲取的結果集 
   * @param Int $pid       
   * @param Int $count    //第幾級分類
   * @return Array $treeList  
   */
  static public function tree($data,$pid = 0,$count = 1) {
    foreach ($data as $key => $value){
      if($value['Pid']==$pid){
        $value['Count'] = $count;
        self::$treeList []=$value;
        unset($data[$key]);
        self::tree($data,$value['Id'],$count+1);
      } 
    }
    return self::$treeList ;
  }  
}

$treeList[] 保存排序的結果 基本就是進行了一次排序 保存后就可以 unset($data[$key]); 掉 因為已經使用不到了
$data 使用按地址傳參,結合unset($data[$key]); 減少循環次數,這樣效率提高了好幾倍,

但需要對 Pid進行 ASC的排序 不然會顯示不完全

$value['Count'] = $count; 為當前的等級 在模板里會通過等級進行生成樹形結構

排序前后的數據結構如下

表所需要字段 Id,Pid
排序前的數據結構
id   pid
1    0
2    0
3    1
4     3

排序后的數據結構

id  pid  count
1   0    1
3   1   2
4   3    3
2   0   1

//默認列表
  public function index() {  
    $menu = M('Menu');
    $list = $menu->order('Pid ASC,Morder DESC,Id ASC')->select();
    $this->assign('List',Tool::tree($list));  
         $this->display();
  }

控制器里調用

td style="text-indent:{$vo['Count']*20}>px;">neq name="vo.Count" value="1">| -- /neq>{$vo.Name}>/td>

模板使用里volist> 正常輸出即可 把需要生成樹結構的字段 修改成如上

測試了 如果是3000條的話 用時 0.5秒 1000個的話 0.02秒的左右 超過3000效率就會大幅度降低 2000左右的效率還是比較高的 沒有進行更詳細的測試

如果哪位大哥測試了 麻煩把測試結果回復下哈

標簽:宿遷 延安 工商登記 佛山 澳門 常德 深圳 宜春

巨人網絡通訊聲明:本文標題《CMSPRESS 10行代碼搞定 PHP無限級分類2》,本文關鍵詞  CMSPRESS,10行,代碼,搞定,PHP,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《CMSPRESS 10行代碼搞定 PHP無限級分類2》相關的同類信息!
  • 本頁收集關于CMSPRESS 10行代碼搞定 PHP無限級分類2的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 镇赉县| 文昌市| 西乌珠穆沁旗| 望都县| 通海县| 区。| 昆明市| 教育| 东源县| 奉化市| 宣武区| 翁源县| 江津市| 鹤岗市| 舒城县| 漳州市| 博客| 安宁市| 藁城市| 聂拉木县| 离岛区| 偃师市| 多伦县| 义乌市| 三穗县| 大庆市| 旌德县| 绥江县| 奈曼旗| 海盐县| 定陶县| 涪陵区| 苍梧县| 营山县| 霍城县| 六枝特区| 晋宁县| 闵行区| 博客| 平安县| 修武县|