在 PHP 中使用 array[key] 可以吗?
是否可以像$array[key]那样使用没有单引号或双引号的数组?我认为这很糟糕,因为如果我不使用单引号或双引号,PHP首先会寻找常量。我的一位同事告诉我,这并不重要。
你们怎么看?
是否可以像$array[key]那样使用没有单引号或双引号的数组?我认为这很糟糕,因为如果我不使用单引号或双引号,PHP首先会寻找常量。我的一位同事告诉我,这并不重要。
你们怎么看?
它不被认为是OK的 - 即使它在大多数情况下都可以工作。
基本上,当PHP看到这个:
echo $array[key];
它将搜索一个常量,用 define
定义,称为 key
-- 如果没有,if 将取值。'key'
但是,如果您的代码前面有类似的东西:
define('key', 'glop');
它不会采取
echo $array['key'];
不再 ;相反,它将使用键
常量的值 - 并且您的代码将与:
echo $array['glop'];
最后,不把引号放在钥匙的名字周围是不好的,至少有两个原因:
define
'key'
error_reporting
并display_errors
,即使以后丢弃,仍然会生成通知/警告/错误)
所以:在这一点上,你不应该听那个家伙:他错了:这确实很重要。
如果你需要一些“证据”,比人们在stackoverflow上告诉你的“更好”,你可以给他指出手册的这一部分,作为参考:为什么$foo[bar]错了?
这是不对的,并且要添加其他人所说的内容,在大多数情况下会触发错误:
8 Notice Use of undefined constant key - assumed 'key' in file: 'index.php' on line 46
请参阅 PHP 手册中此页面上“数组 do's 和 don't”下的“为什么$foo[bar] 错误?”部分:http://php.net/manual/en/language.types.array.php