【问题标题】:PHP "EMPTY" constant name [duplicate]PHP“空”常量名称[重复]
【发布时间】:2019-01-14 16:39:12
【问题描述】:

如果常量的名称为 EMPTY,您能否告诉我为什么这段代码会引发解析错误,但如果我将其更改为 EMPTY2 或 SUBSTR,它确实可以工作。

    define('EMPTY', '');

    if (empty(EMPTY)) {
       echo 'hello world';
    }

【问题讨论】:

  • 然后使用MYEMPTY :p
  • 可以定义()具有保留甚至无效名称的常量,其值可以(仅)用常量()检索。但是,不建议这样做。 php.net/manual/en/language.constants.php

标签: php


【解决方案1】:

因为,正如 Quora 回答中所述,PHP function names are case-insensitive,所以EMPTY 与内置函数empty() 发生冲突。

PHP 手册在关于用户定义函数的小节中的 Example #3 之后的一个小注释中提到了这一点:

注意: 函数名不区分大小写,尽管调用函数在声明中出现时通常是一种很好的形式。

【讨论】:

    猜你喜欢
    • 2015-07-13
    • 2018-08-02
    • 2014-10-06
    • 2013-06-12
    • 2011-02-20
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 2013-06-12
    相关资源
    最近更新 更多