gpt4 book ai didi

php - 可以在 PHP 中使用 array[key] 吗?

转载 作者:IT王子 更新时间:2023-10-28 23:46:38 25 4
gpt4 key购买 nike

像 $array[key] 这样没有单引号或双引号的数组可以使用吗?我认为这很糟糕,因为如果我不使用单引号或双引号,PHP 会首先查找常量。我的一位同事告诉我,这没关系。

你们觉得呢?

最佳答案

它不被认为是可行的——即使它在大多数情况下都有效。


基本上,当 PHP 看到这个时:

echo $array[key];

它将搜索一个用 define 定义的常量,称为 key -- 如果没有,则取 'key' 值。


但是,如果您的代码中有类似这样的内容:

define('key', 'glop');

不需要

echo $array['key'];

不再;相反,它将使用key 常量的值——您的代码将与:

echo $array['glop'];


最后,至少有两个原因导致不在 key 名称周围加上引号是不好的:

  • 存在它不会按照您的预期行事的风险——这是非常糟糕的
    • 可能,今天...
    • 但是下周/下月/下年呢?
    • 也许有一天,您会用错误的名称定义常量;-)
  • 这对性能不利:
    • 它必须在使用 'key' 之前搜索常量
    • 并且,如评论中所述,它会生成通知(即使您禁用 error_reportingdisplay_errors,通知/警告/错误仍会生成,即使稍后被丢弃)

所以:在这一点上你不应该听那个人的:他错了:这很重要


如果您需要一些比人们在 stackoverflow 上告诉您的“更好”的“证明”,您可以将他指向手册的这一部分,作为引用: Why is $foo[bar] wrong?

关于php - 可以在 PHP 中使用 array[key] 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2405482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com