本篇文章就跟大家介紹php如何實現無限分類? php三種無限分類方法。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。
無限分類,是指從一個最高分類開始,每個子分類都可以分出自己的若干個子分類,可以一直分下去,稱為無限級分類;
下面是對省市縣的無限極分類的列子。資料庫如圖:
程式碼範例如下:
/** * @Description: 无限极分类一 * @Author: Yang * @param $data 数据库数据 * @param int $parent_id 父级ID * @return array */ function getTree1($data, $parent_id = 0) { $tree = array(); foreach ($data as $k => $v) { if ($v["parent_id"] == $parent_id) { unset($data[$k]); if (!empty($data)) { $children = getCategory($data, $v["id"]); if (!empty($children)) { $v["_child"] = $children; } } $tree[] = $v; } } return $tree; } /** * @Description: 无限极分类二 * @Author: Yang * @param $data 数据库数据 * @param int $parent_id 父级ID * @param int $level 等级 * @return array */ function getTree2($data, $parent_id = 0, $level = 0) { static $tree = array(); foreach ($data as $k => $v) { if ($v["parent_id"] == $parent_id) { $v["level"] = $level; $tree[] = $v; getTree($data, $v["id"], $level + 1); } } return $tree; } /** * @Description: 无限分类三:面包屑导航 * @Author: Yang * @param $data 数据库数据 * @param $id 分类ID * @return array */ function getCrumbsBar($data, $id) { static $tree = array(); foreach ($data as $k => $v) { if ($v["id"] == $id) { getCrumbsBar($data, $v["parent_id"]); $tree[] = $v; } } return $tree; }
以上就是本篇的全部內容,更相關教學請造訪php程式設計從入門到精通全套影片教學,php實戰影片教學,bootstrap影片教學!
以上是php如何實現無限分類? php三種無限分類方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!