PHP 数组——方括号 vs 花括号($array[$i] vs $array$i)
Posted
技术标签:
【中文标题】PHP 数组——方括号 vs 花括号($array[$i] vs $array$i)【英文标题】:PHP arrays -- square brackets vs curly braces ($array[$i] vs $array$i)PHP 数组——方括号 vs 花括号($array[$i] vs $array$i) 【发布时间】:2016-11-19 19:13:00 【问题描述】:我最近了解到,php 中的$myArray[$index]
等同于$myArray$index
。
这在PHP docs 上提到过。我还在这里找到了小讨论:PHP curly braces in array notation。
PHP-FIG 不包含任何关于哪种方式更可取的建议。
所以,我的问题是——这只是一个口味问题,或者可能是使用一种或另一种语法的一些客观原因?
【问题讨论】:
像其他人一样使用第一种方式。 @PeeHaa 实际上我总是使用这种语法,但我遇到了一段代码,其中使用了第二种语法(与第一种语法混合)。我有点困惑 你有什么理由使用我个人从未见过的语法吗? @CharlotteDunois 这不是我的代码,我只是遇到了这个问题,想知道这里是否有任何真正的区别 【参考方案1】:数组元素的“方括号表示法”会更加统一和可接受。在处理数组元素的访问时,“大括号表示法”将在表达式中起作用,但在变量插值中不起作用.考虑以下示例:
$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)"
【讨论】:
以上是关于PHP 数组——方括号 vs 花括号($array[$i] vs $array$i)的主要内容,如果未能解决你的问题,请参考以下文章