2012-09-14 79 views
0

爲什麼我的$dropdown數組是空的?爲什麼我的數組是空的?

我沒有複製$p跨越

 foreach($p as $pat) 
    { 
    print'<pre>'; 
    print_r($pat['name']); 
    print'</pre>'; 

    $c = Jojo::selectQuery("SELECT * FROM {cat} WHERE {parentid} =?", array($pat['categoryid'])); 

    foreach($c as $cat) 
    { 
     print'<pre> '; 
     print_r($cat['name']); 
     print'</pre>'; 
    } 

    $dropcat = array(); 
    $dropcat[$cat[$pat['categoryid'][0]] = $pat['id']]; 

    print_r($dropcat); 
} 
+0

@大衛這是我的工作帳戶,所以我知道去的:) –

回答

0

這很可能是一個括號問題?

$dropcat[$cat[$pat['categoryid'][0]] = $pat['id']]; 
// Should be 
$dropcat[$cat[$pat['categoryid'][0]]] = $pat['id']; 

但很難一LITTEL跟隨正好不知道的內容和$貓和$拍,因爲我覺得那些真正有內容的,你期待的 - 他們是預示了從foreach循環的最後一個項目。

+0

我怎樣才能讓它擁有所有物品? –

+0

$ cat&$ pat是sql數組 –

+0

在這種情況下,我懷疑$ pat是一個二維數組 - $ pat ['category_id'] [0] ?!或者你的意思是$ p [0] ['category_id']? $ cat和$ pat是$ p和$ c中的最後一行 - 這個_could_是你想要的(受到$ pat爲一個二分,而不是二分)。這是你想要的嗎?我無法看到你想要做什麼的邏輯。使用「echo」和print_r()來檢查你在哪裏。然後從那裏建立起來。 – Robbie

0
$dropcat = array(); 
print_r($dropcat); 

這些都是你的第一foreach循環內,導致它被清空循環的每個迭代。刪除第一行並將第二行放在花括號後面,然後重試。

+0

firstline = array()? –

+0

這是重新聲明數組,在'foreach'循環中你不想要的東西。 – David