2010-11-02 103 views
0
echo "$gooshgoosh[$i]['num']"; 

有誰知道這裏爲什麼回聲PHP回聲結構 - 數組問題

array['num'] 
+7

張貼更多內容的代碼並觀看你的語言。 – tplaner 2010-11-02 20:27:04

+0

回聲不是一個函數,它是一種語言結構。 – netcoder 2010-11-02 20:28:37

+0

@evolve哈哈,「看你的語言」,好的工作奠定了法律。 :D – Sam 2010-11-02 20:46:56

回答

3

這是因爲報價:PHP不明白,[「NUM」]是數組索引。試試這個:

echo $gooshgoosh[$i]['num']; 
6

PHP將只評估插值表達式到第一個數組索引,或第一次嘗試解引用一個對象。這意味着,這些預期將無法正常工作:

echo "$array[id1][id2]"; // like "{$array[id1]}[id2]" 
echo "$object->obj1->obj2"; // like "{$object->obj1}->obj2" 

您可以強制PHP中使用大括號來評估整個表達式:

echo "{$array[id1][id2]}"; 
echo "{$object->obj1->obj2}"; 

你的具體情況,PHP正在評估"$gooshgoosh[$i]",從而解決到一個數組。數組到字符串的轉換會產生字符串「array」,所以該字符串被替換爲產生"array['num']"