真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

如何在PHP項目中實現(xiàn)一個無限級分類-創(chuàng)新互聯(lián)

如何在PHP項目中實現(xiàn)一個無限級分類?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網站、網站重做改版、五華網站定制設計、自適應品牌網站建設、H5開發(fā)成都做商城網站、集團公司官網建設、外貿營銷網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為五華等各大城市提供網站開發(fā)制作服務。

無限級分類在開發(fā)中經常使用,例如:部門結構、文章分類。無限級分類的難點在于“輸出”和“查詢”,例如

  • 將文章分類輸出為

      列表形式;

    • 查找分類A下面所有分類包含的文章。

    1.實現(xiàn)原理
    幾種常見的實現(xiàn)方法,各有利弊。其中“改進前序遍歷樹”數據結構,便于輸出和查詢,但是在移動分類和常規(guī)理解上有些復雜。

    2.數據結構

    如何在PHP項目中實現(xiàn)一個無限級分類

    1, 'fid'=>0, 'title' => '中國'), 
     array('id'=>2, 'fid'=>1, 'title' => '江蘇'),
     array('id'=>3, 'fid'=>1, 'title' => '安徽'),
     array('id'=>4, 'fid'=>8, 'title' => '江陰'),
     array('id'=>5, 'fid'=>3, 'title' => '蕪湖'),
     array('id'=>6, 'fid'=>3, 'title' => '合肥'),
     array('id'=>7, 'fid'=>3, 'title' => '蚌埠'),
     array('id'=>8, 'fid'=>8, 'title' => '無錫')
     );
    ?>

    各分類之間通過父類id(即fid)進行級別“串聯(lián)”,形成一棵分類樹。在進行串聯(lián)時候有一點值得注意:分類A的fid不可以是其子類的id。

    在使用這種數據結構進行輸出時最常用的算法就是“遞歸”,熟悉PHP語言的朋友肯定知道,PHP不擅長遞歸 ,而且遞歸次數有限(100次左右,因操作系統(tǒng)和配置而異)。

    由于所有的遞歸均可以使用循環(huán)實現(xiàn),本文根據PHP語言特點編寫了一套關于“無限級”分類的函數,相比遞歸實現(xiàn)而言效率更高。

    3.輸出ul列表形式
    將上述數據輸出為下面的HTML

         
      江蘇
       
           
        無錫
         
             
          江陰
             
           
           
      安徽
       
         
        蕪湖
         
      • 合肥
      •  
        蚌埠
         
       

    這種HTML結構在前端使用(使用JavaScript和CSS構造可折疊樹)十分方便。具體實現(xiàn)程序如下:

    4.輸出option列表形式


    具體實現(xiàn)程序如下: