2016-07-16 140 views
5

正如我最近在PHP中學到的$myArray[$index]相當於$myArray{$index}

這提到PHP docs。我還在這裏發現了一些小討論:PHP curly braces in array notation

PHP-FIG不包含任何關於哪種方式更可取的建議。

所以,我的問題是 - 這只是一個味道的問題,或者可能是客觀的原因使用一種或其他語法?

+2

只要像其他人一樣使用第一種方法。 – PeeHaa

+1

@PeeHaa實際上我總是使用這種語法,但是我遇到了使用第二種語法(與第一種混合)的代碼片段。我有點困惑 – oakymax

+0

是否有任何理由爲什麼你會使用一種語法,我以前從未見過? –

回答

11

「方括號表示法」對於數組元素會更加統一和可接受。
當處理數組元素的訪問時,「大括號表示法」將在表達式中工作,但不能在變量插值中使用。
考慮下面的例子:

$myArray = [1,2]; 
$index = 1; 

echo "value at index $index is $myArray[$index]"; // outputs "value at index 1 is 2" 

echo "value at index $index is $myArray{$index}"; // will throw "Notice: Array to string conversion" 

var_dump($myArray{$index}); // outputs "int(2)"