我一直在爲PHP編寫一個解析器,並且在解決一些第三方代碼的同時,遇到了一個關於[]
運算符的奇怪案例。從PHP數組讀取時,[]意味着什麼?
通常情況下,[]
使用沒有意義「作爲最後的元素」爲賦值左側的鍵。
$a = array();
$a[] = 1;
將在數組$ a的末尾加1。
在上述代碼,雖然,我看到了這樣一行:
$r =& $a[];
當我試圖刪除&,我得到了一個相當預期的致命錯誤:
隨着&
儘管如此,PHP並沒有抱怨。表達式的含義是什麼
& $a[];
?
現在我們知道它的含義了,讓我們都承諾永遠不要使用它。 – webbiedave 2010-10-11 17:45:43
我們必須的確如此。 :-) – Yiannis 2010-10-11 18:11:23