未定义常量PHP 7.2版的使用
看起来有很多关于这个话题的帖子,但是这个案例似乎有所不同 在大于或等于7.2的PHP版本中,以下代码:未定义常量PHP 7.2版的使用,php,php-7.2,Php,Php 7.2,看起来有很多关于这个话题的帖子,但是这个案例似乎有所不同 在大于或等于7.2的PHP版本中,以下代码: if (!empty($_GET['rxdebug']) || AH_DEBUG){ define(AH_DEBUG_MODE, true); }else{ define(AH_DEBUG_MODE, false); } 将在第二个define行defineAH\u DEBUG\u MODE上抛出错误,false 基本上第一个定义被接受,第二个定义不……代码不是只处理一次吗?
if (!empty($_GET['rxdebug']) || AH_DEBUG){
define(AH_DEBUG_MODE, true);
}else{
define(AH_DEBUG_MODE, false);
}
将在第二个define行defineAH\u DEBUG\u MODE上抛出错误,false
基本上第一个定义被接受,第二个定义不……代码不是只处理一次吗?或者某种预处理器运行时会抛出错误,就像常量定义了两次一样?应该是:
define('AH_DEBUG_MODE', true);
Having:defineAH_DEBUG_MODE,true强制PHP计算常量AH_DEBUG_MODE的值,该值显然尚未定义
您的代码可以简化为:
define('AH_DEBUG_MODE', !empty($_GET['rxdebug']) || AH_DEBUG);
应该是:
define('AH_DEBUG_MODE', true);
Having:defineAH_DEBUG_MODE,true强制PHP计算常量AH_DEBUG_MODE的值,该值显然尚未定义
您的代码可以简化为:
define('AH_DEBUG_MODE', !empty($_GET['rxdebug']) || AH_DEBUG);
您的代码应该将常量的名称用引号括起来。查看以下位置的手册:
您的代码应该将常量的名称用引号括起来。查看以下位置的手册:
常数名称周围应该有引号常数名称周围应该有引号谢谢mate,为什么这只发生在第二个定义上?因为!空$_GET['rxdebug']| | AH| u DEBUG的计算结果为false,因此执行else语句。谢谢,伙计,为什么只在第二个定义中出现这种情况?因为!空$_GET['rxdebug']| | AH| u DEBUG的计算结果为false,因此执行else语句。