PHP如何通過(guò)傳引用的思想實(shí)現(xiàn)無(wú)限分類(lèi)(代碼簡(jiǎn)單)
無(wú)限級(jí)分類(lèi),主要是通過(guò)儲(chǔ)存上級(jí)分類(lèi)的id以及分類(lèi)路徑來(lái)實(shí)現(xiàn)
在我的Simpla中,用到了無(wú)限分類(lèi),使用了PHP的傳引用思想實(shí)現(xiàn)無(wú)限分類(lèi)的方法,可以完美展示類(lèi)似這樣的分類(lèi)模式。
id pid name
1 0 四川
2 0 重慶
3 1 成都
4 1 綿陽(yáng)
5 3 高新區(qū)
代碼如下所示:
/** * 數(shù)組變成無(wú)限級(jí)分類(lèi)--傳引用思想 * @param array $items * @return array */ public static function get_tree($orig) { //解決下標(biāo)不是1開(kāi)始的問(wèn)題 $items = array(); foreach ($orig as $key => $value) { $items[$value[‘id‘]] = $value; } //開(kāi)始組裝 $tree = array(); foreach ($items as $key => $item) { if ($item[‘pid‘] == 0) { //為0,則為1級(jí)分類(lèi) $tree[] = &$items[$key]; } else { if (isset($items[$item[‘pid‘]])) { //存在值則為二級(jí)分類(lèi) $items[$item[‘pid‘]][‘child‘][] = &$items[$key]; //傳引用直接賦值與改變 } else { //至少三級(jí)分類(lèi) //由于是傳引用思想,這里將不會(huì)有值 $tree[] = &$items[$key]; } } } return $tree; }
以上內(nèi)容很簡(jiǎn)單吧,如有錯(cuò)誤或者更好的方法,希望可以相互交流。謝謝。!
- php無(wú)限極分類(lèi)實(shí)現(xiàn)的兩種解決方法
- PHP超牛逼無(wú)限極分類(lèi)生成樹(shù)方法
- php無(wú)限極分類(lèi)遞歸排序?qū)崿F(xiàn)方法
- PHP實(shí)現(xiàn)無(wú)限極分類(lèi)生成分類(lèi)樹(shù)的方法
- php通過(guò)前序遍歷樹(shù)實(shí)現(xiàn)無(wú)需遞歸的無(wú)限極分類(lèi)
- PHP無(wú)限極分類(lèi)函數(shù)的實(shí)現(xiàn)方法詳解
- thinkphp5使用無(wú)限極分類(lèi)
- 淺談PHP無(wú)限極分類(lèi)原理
- PHP利用遞歸函數(shù)實(shí)現(xiàn)無(wú)限級(jí)分類(lèi)的方法
- PHP 無(wú)限分類(lèi)三種方式 非函數(shù)的遞歸調(diào)用!
- PHP實(shí)現(xiàn)無(wú)限極分類(lèi)的兩種方式示例【遞歸和引用方式】
相關(guān)文章
thinkphp3.2.3版本的數(shù)據(jù)庫(kù)增刪改查實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇thinkphp3.2.3版本的數(shù)據(jù)庫(kù)增刪改查實(shí)現(xiàn)代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09微信公眾平臺(tái)開(kāi)發(fā)實(shí)現(xiàn)2048游戲的方法
這篇文章主要介紹了微信公眾平臺(tái)開(kāi)發(fā)實(shí)現(xiàn)2048游戲的方法,較為詳細(xì)的講述的2048游戲的原理以及微信公眾平臺(tái)開(kāi)發(fā)2048游戲的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04phpcms實(shí)現(xiàn)驗(yàn)證碼替換及phpcms實(shí)現(xiàn)全站搜索功能教程詳解
這篇文章主要介紹了phpcms的驗(yàn)證碼替換 及 phpcms實(shí)現(xiàn)全站搜索功能,需要的朋友可以參考下2017-12-12在 Laravel 中動(dòng)態(tài)隱藏 API 字段的方法
這篇文章主要介紹了在 Laravel 中動(dòng)態(tài)隱藏 API 字段的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10PHP面向?qū)ο笾I(lǐng)域模型+數(shù)據(jù)映射器實(shí)例(分析)
下面小編就為大家?guī)?lái)一篇PHP面向?qū)ο笾I(lǐng)域模型+數(shù)據(jù)映射器實(shí)例(分析)。小編覺(jué)得挺不錯(cuò)的?,F(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06