PHP遞歸實現(xiàn)無限級分類的代碼示例
什么是無限級分類?
無限級分類是一種對商品或信息進(jìn)行分類的方式,在這種分類方式中,每個分類都可以再次細(xì)分出更多的子分類,形成無限的級別
應(yīng)用場景:
一個電商網(wǎng)站的分類可以是:服裝、鞋類、家居用品等,而服裝分類下又可以進(jìn)一步劃分成男裝、女裝、童裝等子分類,男裝分類下又可以劃分成襯衫、T恤、外套等子分類,這樣就形成了多層次的無限級分類
在PHP中實現(xiàn)無限級分類可以使用遞歸的方法來實現(xiàn)。下面是一個簡單的示例:
<?php // 模擬分類數(shù)據(jù) $categories = array( array('id' => 1, 'name' => '電子產(chǎn)品', 'parent_id' => 0), array('id' => 2, 'name' => '手機', 'parent_id' => 1), array('id' => 3, 'name' => '筆記本電腦', 'parent_id' => 1), array('id' => 4, 'name' => '家用電器', 'parent_id' => 0), array('id' => 5, 'name' => '電視', 'parent_id' => 4), array('id' => 6, 'name' => '冰箱', 'parent_id' => 4), array('id' => 7, 'name' => '空調(diào)', 'parent_id' => 4), array('id' => 8, 'name' => '服飾', 'parent_id' => 0), array('id' => 9, 'name' => '男裝', 'parent_id' => 8), array('id' => 10, 'name' => '女裝', 'parent_id' => 8), array('id' => 11, 'name' => '鞋類', 'parent_id' => 0), array('id' => 12, 'name' => '男鞋', 'parent_id' => 11), array('id' => 13, 'name' => '女鞋', 'parent_id' => 11), array('id' => 14, 'name' => '數(shù)碼產(chǎn)品', 'parent_id' => 1), array('id' => 15, 'name' => '相機', 'parent_id' => 14), array('id' => 16, 'name' => '攝像機', 'parent_id' => 14), array('id' => 17, 'name' => '辦公用品', 'parent_id' => 0), array('id' => 18, 'name' => '文具', 'parent_id' => 17), array('id' => 19, 'name' => '辦公設(shè)備', 'parent_id' => 17), array('id' => 20, 'name' => '電腦配件', 'parent_id' => 1), array('id' => 21, 'name' => '顯示器', 'parent_id' => 20), array('id' => 22, 'name' => '內(nèi)存條', 'parent_id' => 20), array('id' => 23, 'name' => '游戲機', 'parent_id' => 1), array('id' => 24, 'name' => 'PS5', 'parent_id' => 23), array('id' => 25, 'name' => 'Switch', 'parent_id' => 23), ); // 遞歸處理分類數(shù)據(jù) function buildTree($categories, $parent_id = 0) { $tree = array(); foreach ($categories as $category) { if ($category['parent_id'] == $parent_id) { $children = buildTree($categories, $category['id']); if ($children) { $category['children'] = $children; } $tree[] = $category; } } return $tree; } // 構(gòu)建樹形結(jié)構(gòu) $tree = buildTree($categories); // 顯示分類數(shù)據(jù) function showTree($tree, $indent = 0) { foreach ($tree as $category) { echo str_repeat("--", $indent) . $category['name'] . "<br>"; if (isset($category['children'])) { showTree($category['children'], $indent + 1); } } } // 調(diào)用函數(shù)顯示樹形結(jié)構(gòu) showTree($tree);
以上就是PHP遞歸實現(xiàn)無限級分類的代碼示例的詳細(xì)內(nèi)容,更多關(guān)于PHP遞歸實現(xiàn)無限級分類的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
PHP實現(xiàn)的權(quán)重算法示例【可用于游戲根據(jù)權(quán)限來隨機物品】
這篇文章主要介紹了PHP實現(xiàn)的權(quán)重算法,可用于游戲根據(jù)權(quán)限來隨機物品,涉及php數(shù)組遍歷、隨機數(shù)處理及數(shù)值運算相關(guān)操作技巧,需要的朋友可以參考下2019-02-02解決更換PHP5.4以上版本后Dedecms后臺登錄空白問題的方法
為什么會出現(xiàn)更換PHP5.4以上版本后Dedecms后臺登錄空白的情況,本文將給大家詳細(xì)分析,找出真正原因以及解決辦法。2015-10-10php上傳圖片到指定位置路徑保存到數(shù)據(jù)庫的具體實現(xiàn)
本文為大家介紹下php上傳圖片到指定位置路徑保存到數(shù)據(jù)庫的具體實現(xiàn),感興趣的朋友不要錯過2013-12-12PHP獲取當(dāng)前文件所在目錄 getcwd()函數(shù)
PHP 當(dāng)前目錄獲取方法。2009-05-05linux環(huán)境apache多端口配置虛擬主機的方法深入介紹
本篇文章是對linux環(huán)境apache多端口配置虛擬主機的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06