条件语句 PHP 5.4 出现意外的 ')' 错误

Unexpected ')' error with conditional statement PHP 5.4

必须向后移植 PHP 7 应用程序以使其与 PHP 5.4 兼容,我收到以下错误:

<b>Parse error</b>:  syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in blah blah...

在我的一个函数中使用这个条件语句:

if (!empty(MY_CONSTANT)) {
   // blah...
}

好久没用PHP5.4了,为什么会报这个错?

我试试这个,它在 PHP 5.4.0

上工作
  define("MY_CONSTANT", 15);
  $testingVal = MY_CONSTANT; 
  if (!empty($testingVal)) {
      echo MY_CONSTANT;
  }

Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error.

如果您想检查给定的命名常量是否存在,您可以使用 defined()

if ( defined('MY_CONSTANT') ) {
  // blah
}