PHP数组 - 方括号与花括号($ array [$ i] vs $ array {$ i})

时间:2016-07-16 20:32:50

标签: php

正如我最近在PHP中学到的$myArray[$index]相当于$myArray{$index}

这在PHP docs上提到过。我也在这里找到了一些小讨论:PHP curly braces in array notation

PHP-FIG不包含有关哪种方式更可取的任何建议。

所以,我的问题是 - 这只是一个品味问题,或者可能是使用一种或另一种语法的客观原因?

1 个答案:

答案 0 :(得分:13)

"数组元素的方括号符号" 将更加统一和可接受。
"卷曲括号符号"在处理数组元素的访问时,它将在表达式中工作,但不在变量插值中工作。
请考虑以下示例:

$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)"