【问题标题】:PHP arrays -- square brackets vs curly braces ($array[$i] vs $array{$i})PHP 数组——方括号 vs 花括号($array[$i] vs $array{$i})
【发布时间】:2023-04-10 10:30:01
【问题描述】:

我最近了解到,PHP 中的$myArray[$index] 等同于$myArray{$index}

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

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

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

【问题讨论】:

  • 像其他人一样使用第一种方式。
  • @PeeHaa 实际上我总是使用这种语法,但我遇到了一段代码,其中使用了第二种语法(与第一种语法混合)。我有点困惑
  • 你有什么理由使用我个人从未见过的语法吗?
  • @CharlotteDunois 这不是我的代码,我只是遇到了这个问题,想知道这里是否有任何真正的区别

标签: php


【解决方案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)"

【讨论】:

    猜你喜欢
    • 2012-09-17
    • 2011-07-27
    • 2020-12-28
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    相关资源
    最近更新 更多