我實際上在ZF上工作。我有一個類別表與,我想爲了得到如下顯示的數據來創建樹:Zend框架foreach循環停止吃了第一次迭代
Category
--Sub cat 1
--Sub cat 2
----Su sub cat 1
Another Category
--Sub cat 1
//...etc...
我使用fetchAll
方法來得到我的所有數據。 Everyting工作正常。但隨後我現在試圖建立我的樹成如下雙foreach循環:
$tree = array();
foreach($data as $parent){
$tree[$parent->name] = array();
foreach($data as $child){
if($child->parent_id == $parent->id){
$tree[$parent->name][] = $child->name;
}
}
}
的問題是,main
循環一次迭代後的循環停止,所以我剛開始的第一個父和它的子類別但它不會繼續到第二個父級。
我的數據庫表中的以下字段:
id, name, parent_id
任何想法?
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;
}
}
}
您確定您獲得超過1個類別嗎? – Perry 2013-04-04 08:01:48
嗨,謝謝你的回答。是的,我有幾個類別的數據庫返回。我已經檢查過,所以我不明白爲什麼它會這樣打破。此外,如果我刪除第二個循環,一切都很好,循環工作 – lkartono 2013-04-04 08:05:09