2011-07-18 115 views
-1

我使用嵌套while循環創建一個嵌套的數組,這將是這樣的:嵌套陣列,同時在循環

[276] => Array 
    (
     [0] => 302 
    ) 

[279] => Array 
    (
     [0] => 290 
     [1] => 291 
     [1] => 223 

但由於某些原因,我只得到一個嵌套的數組顯示上漲了279下,但我知道,我要查詢的 數據至少返回了應該在279陣列下的12條記錄。

這裏是我的,而循環代碼:

while ($row = mysql_fetch_assoc($result)) { 
    $term_id = $row[term_id]; 

    // Look up Children Categories 
    $sql2 = "SELECT * FROM wp_term_taxonomy wpt where parent = $row[term_id]"; 

    // execute query: 
    $result2 = mysql_query($sql2) or die('A error occured: ' . mysql_error()); 

    // fetch results: 
    $count_2 = "0"; 
    while ($row2 = mysql_fetch_assoc($result2)) { 
     $term_id2 = $row2['term_id']; 
     $arr[$term_id] = array($count_2 => $row2[term_id]); 
     $count_2++; 
    } 

} 

有人能告訴我什麼林做錯了什麼?它就像每次重置嵌套數組,所以我只在嵌套數組下面得到一條記錄。

+0

夥計,你應該被禁止。 http://stackoverflow.com/questions/3552456/smarty-nested-foreach-loop-question – Phil

回答

1

您的代碼:

$arr[$term_id] = array($count_2 => $row2[term_id]); 

這種分配一個新的數組$arr[$term_id]。如果您已經將項目放在循環的上一個迭代中,它會覆蓋它,或者在您放置它時「重置它」,它不附加到現有數組。你告訴它這樣做。

$arr[$term_id][$count_2] = $row2[term_id];