一个函数搞定无限层级分类
生活随笔
收集整理的這篇文章主要介紹了
一个函数搞定无限层级分类
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)據(jù)結(jié)構(gòu)
關(guān)鍵點(diǎn):需要處理源數(shù)組,使其鍵名與鍵值的id相等。
level主要為了顯示方便,不是關(guān)鍵字段。根據(jù)需求,還可以加上rid(root_id)來記錄根。
一個(gè)函數(shù)
將數(shù)據(jù)處理成樹形
function generateTree($items) {$tree = array();foreach($items as $item) {if (isset($items[$item['pid']])) {$items[$item['pid']]['children'][] = &$items[$item['id']];} else {$tree[] = &$items[$item['id']];}}return $tree; }如何輸出
這里只展示核心思路,可自行修改美化。
function getTreeData($tree) {foreach($tree as $t) {echo str_repeat('-', $t['level']) . $t['name'] . '<br>';if (isset($t['children'])) {getTreeData($t['children']);}} }getTreeData($tree);結(jié)果是這樣
-1層1 --2層1 ---3層1 ----4層1 -----5層1 --2層2 ---3層2 ----4層2 -1層2總結(jié)
以上是生活随笔為你收集整理的一个函数搞定无限层级分类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css --- [读书笔记] 盒模型(
- 下一篇: for循环延时_单片机的独立按键学习,实