<?php
/*** created by phpstorm.
* user: qishou
* date: 15-8-2
* time: 上午12:00
*///準備陣列,代替從資料庫中檢索出的資料(共有三個必須欄位id,name,pid)
header("content-type:text/html;charset=utf-8"
);
$categories
= array
( array
('id'
=>1,
'name'
=>
'電腦'
,'pid'
=>0),
array
('id'
=>2,
'name'
=>
'手機'
,'pid'
=>0),
array
('id'
=>3,
'name'
=>
'筆記本'
,'pid'
=>1),
array
('id'
=>4,
'name'
=>
'台式電腦'
,'pid'
=>1),
array
('id'
=>5,
'name'
=>
'智慧型機'
,'pid'
=>2),
array
('id'
=>6,
'name'
=>
'功能機'
,'pid'
=>2),
array
('id'
=>7,
'name'
=>
'超級本'
,'pid'
=>3),
array
('id'
=>8,
'name'
=>
'遊戲本'
,'pid'
=>3),
);
/*********************==非遞迴實現********************====*/
$tree
= array
();
//第一步,將分類id作為陣列key,並建立children單元
foreach
($categories
as$category
) //第二步,利用引用,將每個分類新增到父類children陣列中,這樣一次遍歷即可形成樹形結構。
foreach
($tree
as$key
=>
$item
) }
} 第三步,刪除無用的非根節點資料
foreach
($tree
as$key
=>
$category
) }
print_r($tree
);
/*********************==遞迴實現********************====*/
$tree
= $categories
; function
get_attr($a,
$pid
) $tree
= $v
;
//將記錄存入新陣列
} }
return
$tree
;
//返回新陣列
} echo""
; print_r(get_attr($tree
,0));
PHP無限級分類實現(遞迴 非遞迴)
created by phpstorm.user qishou date 15 8 2 time 上午12 00 準備陣列,代替從資料庫中檢索出的資料 共有三個必須欄位id,name,pid header content type text html charset utf 8 categories...
PHP無限級分類實現(遞迴 非遞迴)
created by phpstorm.user qishou date 15 8 2 time 上午12 00 準備陣列,代替從資料庫中檢索出的資料 共有三個必須欄位id,name,pid header content type text html charset utf 8 categories...
PHP遞迴實現無限級分類
在一些複雜的系統中,要求對資訊欄目進行無限級的分類,以增強系統的靈活性。那麼php是如何實現無限級分類的呢?我們在本文中使用遞迴演算法並結合mysql資料表實現無限級分類。在一些複雜的系統中,要求對資訊欄目進行無限級的分類,以增強系統的靈活性。那麼php是如何實現無限級分類的呢?我們在本文中使用遞迴...