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)文章
laravel實(shí)現(xiàn)上傳圖片的兩種方式小結(jié)
今天小編就為大家分享一篇laravel實(shí)現(xiàn)上傳圖片的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
關(guān)于laravel 子查詢(xún) & join的使用
今天小編就為大家分享一篇關(guān)于laravel 子查詢(xún) & join的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
php 文件上傳至OSS及刪除遠(yuǎn)程阿里云OSS文件
今天給大家介紹php 文件上傳至OSS及刪除遠(yuǎn)程阿里云OSS文件的方法,在刪除文件的時(shí)候大家記住千萬(wàn)不要帶域名,具體操作示例參考下本文2021-07-07
thinkPHP框架單元測(cè)試庫(kù)tpunit用法示例
這篇文章主要介紹了thinkPHP框架單元測(cè)試庫(kù)tpunit用法,結(jié)合實(shí)例形式分析了tpunit簡(jiǎn)單使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-08-08
使用 laravel sms 構(gòu)建短信驗(yàn)證碼發(fā)送校驗(yàn)功能
本文通過(guò)示例代碼給大家介紹了使用 laravel-sms 構(gòu)建短信驗(yàn)證碼發(fā)送校驗(yàn)?zāi)K,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11
Zend Framework實(shí)現(xiàn)多服務(wù)器共享SESSION數(shù)據(jù)的方法
這篇文章主要介紹了Zend Framework實(shí)現(xiàn)多服務(wù)器共享SESSION數(shù)據(jù)的方法,詳細(xì)分析了SESSION數(shù)據(jù)共享的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-03-03

