PHP如何通過傳引用的思想實現(xiàn)無限分類(代碼簡單)
更新時間:2015年10月13日 11:35:07 投稿:mrr
本文給大家介紹php引用傳遞,如何通過引用出的思想實現(xiàn)無限分類,代碼超簡單,需要的朋友可以借鑒下
無限級分類,主要是通過儲存上級分類的id以及分類路徑來實現(xiàn)
在我的Simpla中,用到了無限分類,使用了PHP的傳引用思想實現(xiàn)無限分類的方法,可以完美展示類似這樣的分類模式。
id pid name
1 0 四川
2 0 重慶
3 1 成都
4 1 綿陽
5 3 高新區(qū)
代碼如下所示:
/**
* 數(shù)組變成無限級分類--傳引用思想
* @param array $items
* @return array
*/
public static function get_tree($orig) {
//解決下標不是1開始的問題
$items = array();
foreach ($orig as $key => $value) {
$items[$value[‘id‘]] = $value;
}
//開始組裝
$tree = array();
foreach ($items as $key => $item) {
if ($item[‘pid‘] == 0) { //為0,則為1級分類
$tree[] = &$items[$key];
} else {
if (isset($items[$item[‘pid‘]])) { //存在值則為二級分類
$items[$item[‘pid‘]][‘child‘][] = &$items[$key]; //傳引用直接賦值與改變
} else { //至少三級分類
//由于是傳引用思想,這里將不會有值
$tree[] = &$items[$key];
}
}
}
return $tree;
}
以上內容很簡單吧,如有錯誤或者更好的方法,希望可以相互交流。謝謝。!
相關文章
使用 laravel sms 構建短信驗證碼發(fā)送校驗功能
本文通過示例代碼給大家介紹了使用 laravel-sms 構建短信驗證碼發(fā)送校驗模塊,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-11-11
Zend Framework實現(xiàn)多服務器共享SESSION數(shù)據(jù)的方法
這篇文章主要介紹了Zend Framework實現(xiàn)多服務器共享SESSION數(shù)據(jù)的方法,詳細分析了SESSION數(shù)據(jù)共享的原理與實現(xiàn)技巧,需要的朋友可以參考下2016-03-03

