PHP“ EMPTY”常量名称

时间:2019-01-14 16:39:12

标签: php

能否请您告诉我,如果常量的名称为EMPTY,为什么此代码会引发解析错误,但是如果我将其更改为EMPTY2或SUBSTR,它将起作用。

    define('EMPTY', '');

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

1 个答案:

答案 0 :(得分:5)

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

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

  

注意:函数名称不区分大小写,尽管通常是调用函数的好形式,因为它们出现在声明中。