【发布时间】:2018-03-19 14:55:32
【问题描述】:
如下:
$arr = [
foo => 'bar',
bar => 'foo'
];
同:
$arr = [
'foo' => 'bar',
'bar' => 'foo'
];
换句话说,是否不需要在命名索引上加上引号?真正需要在字符串索引上加引号的唯一时间是什么时候?
【问题讨论】:
-
你的第一个版本不会抛出警告吗?
-
打开 PHP 通知 - 未加引号的版本正在尝试使用名为
foo和bar的常量。 PHP 7.2 之前的默认行为是发出通知并回退到常量的名称。这现在已被提高为警告,并且可能会从 PHP 8 起停止工作。简而言之,这从来都不是(而且从来都不是)一个好主意。