意外的';)';条件语句PHP5.4出错

意外的';)';条件语句PHP5.4出错,php,conditional,constants,Php,Conditional,Constants,为了与PHP5.4兼容,必须对PHP7应用程序进行后端口,我遇到以下错误: <b>Parse error</b>: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in blah blah... 我已经很久没有使用PHP5.4了,为什么会抛出这个错误?我尝试了这个&这是PHP5.4.0上的工作 define("MY_CONSTANT", 15); $testingVal =

为了与PHP5.4兼容,必须对PHP7应用程序进行后端口,我遇到以下错误:

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

我已经很久没有使用PHP5.4了,为什么会抛出这个错误?

我尝试了这个&这是PHP5.4.0上的工作

  define("MY_CONSTANT", 15);
  $testingVal = MY_CONSTANT; 
  if (!empty($testingVal)) {
      echo MY_CONSTANT;
  }
在PHP5.5之前,empty()只支持变量;任何其他操作都将导致分析错误

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


为什么没有解释就投了反对票?你真的认为这有帮助吗?否决票可能是因为(a)你没有向我们展示足够的上下文来回答你的问题和/或(b)“意外”)“是一个基本的语法错误。这是一个合法的问题,不应该被否决。你的括号对很好。但是在常量而不是变量上运行空将导致语法错误。@Chris这是一个有趣的案例,因为它是一个分析错误,而不是语法错误。这几乎是一个很好的酒吧聊天话题;)@spice我已经向上投票恢复了balanceTrue,但在我检查常量是否留空的特定用例中,它没有帮助。请考虑下面的内容:<代码> const MyOyStime=“”;if(defined('MY_CONSTANT'){echo true;}将始终返回true,即使
MY_CONSTANT
为空。
  define("MY_CONSTANT", 15);
  $testingVal = MY_CONSTANT; 
  if (!empty($testingVal)) {
      echo MY_CONSTANT;
  }
if ( defined('MY_CONSTANT') ) {
  // blah
}