« 15. 何謂「以變數為名的變數何謂」? | (回到Blog入口) | 17. 如何讀取讀取表單(form)?全域變數讀取法 »

16. 何謂「變數的變數陣列」?

jollen 發表於 October 27, 2006 2:02 PM

變數變數陣列 (variable variables with arrys) 跟 variable variables 其實是相同的東西,但使用變數變數陣列時,有些小地方必須要特別小心。例如底下是一個錯誤的寫法:

$$a[0] = "Kitty!";

這個語法錯誤的地方在於 PHP 不曉得 $a 和 $a[0] 那一個才是變數,也就是:

$a = "Good"; $a[0] = "Bad";
$$a[0] = "Kitty!";

兩者所代表的意思是很模糊的,PHP 分不清楚到底是:

$Good[0] = "Kitty!";

還是:

$Bad = "Kitty!";

才是程式設計師想要的。因此,正確的寫法應該使用一對大括弧來告訴 PHP 我們要的是那一種做法:

${$a[0]) 等於 $Bad = "Kitty!"; ${$a}[1] 等於 $Good[1] = "Kitty!";

--jollen

版權聲明

請參閱頁面底部的 CC 授權條款。此外,Jollen's PHP 專欄禁止引用、修改與轉貼,如果您想與朋友分享的話,我們只允許網站連結(hyperlink)的形式。

發表一個評論

(如果你此前從未在此 Blog 上發表過評論,則你的評論必須在 Blog 主人驗證後才能顯示,請你耐心等候。)

| Top | Jollen's Forum |
Jollen's PHP 專欄採用 Attribution-NonCommercial-NoDerivs 2.5 授權條款
Copyright(c) 2001-2007,2010 www.jollen.org