我試圖在我的網站上實現一個類別系統。問題是一個類別可能有孩子。 到目前爲止,我的表category
看起來像這樣:類遞歸循環
id, name, parent_id
到目前爲止,我做了一個循環,但它僅適用於2級。這裏是我的代碼:
for($i=0;$i<count($data);$i++){
$tree[$data[$i]->name] = array();
for($j=0;$j<count($data);$j++){
if($data[$j]->parent_id == $data[$i]->id){
$tree[$data[$i]->name][] = $data[$j]->name;
}
}
}
這回我一個數組,因爲它:
Array
(
[0] => Array
(
[1] => Cat1
[children] => Array
(
[12] => sub cat 1
[13] => sub cat 2
[14] => sub cat 3
)
)
[1] => Array
(
[2] => Cat2
)
[2] => Array
(
[3] => Cat3
)
)
我怎樣才能使效率和遞歸有更多的東西一樣:
Array
(
[0] => Array
(
[1] => Cat1
[children] => Array
(
[12] => sub cat 1
[13] => sub cat 2
[14] => sub cat 3
[children] => Array
(
[1] => sub sub cat 1
)
)
)
[1] => Array
(
[2] => Cat2
)
[2] => Array
(
[3] => Cat3
)
)
感謝你的幫助
編輯
我工作Zend的,並返回我data
因爲它:
Zend_Db_Table_Rowset Object
(
[_data:protected] => Array
(
[0] => Array
(
[id] => 1
[name] => Cinema
[type] => category
[slug] => cinema
[parent_id] => -1
)
[1] => Array
(
[id] => 2
[name] => Horror
[type] => category
[slug] => horror
[parent_id] => 1
)
你好,是的,我知道,但不幸的是,我沒有選擇,我必須使用它現在 – lkartono 2013-04-04 09:04:13
高達ü要嵌套類這一級的方式??????如果你有2-3層比你的代碼是perfact多一個for循環... – Shwet 2013-04-04 09:06:41
沒有嵌套級別的限制。在這種情況下,我應該只使用兩張桌子嗎? – lkartono 2013-04-04 09:31:29