2016-06-10 59 views
2

我讀索姆遺留代碼和一個奇怪的情況下過來當它被用作關鍵字時的變量?就像一個非常特殊的角落案件?或者完全沒有理由這樣做?使用引文,標誌着圍繞在數組訪問變量

- 編輯 -
也許在某些舊版本的PHP中有區別? (請記住這是遺留代碼)。

+0

沒有區別.. – Rizier123

+0

在這個特定的例子中,這是毫無意義的,但你的是一個非常非常嚴格的情況。 –

+0

@JonStirling什麼時候可以做到這一點? – Krycke

回答

1

有一個例子,我可以找到輸出不同的地方,即$mykey = false。 (這其中$的myKey是一個字符串,但隨後又也許並不適用於您的例子:這是PHP的狂野世界)這個什麼都可以用來拍我

<?php 
$arr = array("1"=>"b", "0"=>"a"); 
$mykey = false; 
var_dump($arr[$mykey]); 
// returns "a" 
var_dump($arr["$mykey"]); 
// gives Undefined index error 

$mykey = true; 
var_dump($arr[$mykey]); 
// returns "b" 
var_dump($arr["$mykey"]); 
// returns "b" 

(誤)。 ..

1

它不是必需的變量名綁定數組索引中的雙引號:

,你可以簡單地用了引號寫:

$value = $my_assoc_array[$my_key]; 
-2

這將是不同的,如果$ my_key是一個整數值

$my_key = 3; /* User defined String */ 
$value = $my_assoc_array["$my_key"]; /* returns $my_assoc_array["3"] */ 
$value = $my_assoc_array[$my_key]; /* returns $my_assoc_array[3] */ 
+0

您不能使用'3'鍵和''3「'鍵生成(afaik)數組,因此在本示例中兩行都是相同的。 –

+0

啊我的不好,抱歉 – monterico