概念
php無限級分類原理形像一點的比喻就像是一棵樹,這棵樹有自己的根部,然後主幹,枝乾在到葉子,越是向前越茂密,這就和分類一樣,越是往下細分分類的欄目就越多,就像大家用到的pc電腦預裝的WINDOWS操作系統,大家可以試一試試在一個資料夾中新建一個資料夾然後在這個新的資料夾中,在新建一個,一直下去。你就能明白什麼是無限級了。
原理
首先我們假設有這樣的一個三級分類,新聞→PHP新聞→PHP6.0出來了。如果我們要找「PHP6.0出來了」這則新聞,我們先點擊新聞,然後再點擊PHP新聞就可以查出來了,也就是我們可以透過祖父類一級一級地往下找,反過來我們只要知道一個子類的父類,就可以把它找出來了。這樣我們在設計資料庫時就可以多設計一個父類id的字段就可以實現無限分類的功能了,數據庫中的父類ID尤為重要,接下我我們使用遞歸方法和迭代方法就可以完成無限分類的製作。深入理解我們可以用家譜樹和子孫樹來比喻。
家譜樹是無限極分類的表現形式之一,另一個是子孫樹。 從漢語的意思也能夠看出其中的差異。
家譜,現在很多地方都流行起修家譜,那怎麼修家譜,就是給自己找一個祖宗,一代代找上去,形成了一個體系,這樣編篡而成的叫家譜。家譜樹就與之類似,從某個節點開始向上尋找其父節點,再找父節點的父節點,直到找不到為止。依照這種尋找,形成的一個類似樹狀的結構,就叫做家譜樹。
而子孫樹與其相反,子孫樹類似於生物書中的遺傳圖,從某個節點開始尋找它的子節點,再找子節點的子節點,直到尋找完畢。這樣形成的樹狀結構就叫做子孫樹。
遞歸流程圖
迭代流程圖
相關文章: