PHP: Array 数组

您所在的位置:网站首页 索引数组的作用 PHP: Array 数组

PHP: Array 数组

2024-07-15 02:57| 来源: 网络整理| 查看: 265

为什么 $foo[bar] 错了?

应该始终在用字符串表示的数组索引上加上引号。例如用 $foo['bar'] 而不是 $foo[bar]。但是为什么呢?可能在老的脚本中见过如下语法:

这样是错的,但可以正常运行。那么为什么错了呢?原因是此代码中有一个未定义的常量( bar )而不是 string('bar'-注意引号)。而 PHP 可能会在以后定义此常量,不幸的是你的代码中有同样的名字。它能运行,是因为 PHP 自动将裸字符串(没有引号的 string 且不对应于任何已知符号)转换成一个其值为该裸 string 的 string。例如,如果没有常量定义为 bar,那么PHP 将在 string 中替代为 'bar' 并使用之。

警告

将未定义的常量当作裸字符串的回退会触发 E_NOTICE 级别错误。 从 PHP 7.2.0 起已废弃,并触发 E_WARNING 级别错误。 从 PHP 8.0.0 起被移除,并触发 Error 异常。

注意: 这并不意味着总是给键名加上引号。用不着给键名为 常量 或 变量 的加上引号,否则会使 PHP 不能解析它们。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3