本文給大家介紹php引用傳遞,如何通過引用出的思想實現無限分類,代碼超簡單,需要的朋友可以借鑒下
無限級分類,主要是通過儲存上級分類的id以及分類路徑來實現
在我的Simpla中,用到了無限分類,使用了PHP的傳引用思想實現無限分類的方法,可以完美展示類似這樣的分類模式。
id pid name
1 0 四川
2 0 重慶
3 1 成都
4 1 綿陽
5 3 高新區
代碼如下所示:
- /**
- * 數組變成無限級分類--傳引用思想
- * @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;
- }
以上內容很簡單吧,如有錯誤或者更好的方法,希望可以相互交流。謝謝。!
新聞熱點
疑難解答