组合empty()和trim()会杀死Apache服务器

pud*_*und 0 php apache

我想修剪一个字符串然后检查所述字符串是否为空,如下所示:

if(!empty(trim($string))) { ... }
Run Code Online (Sandbox Code Playgroud)

但由于某些未知原因,这恰好使我的本地Apache崩溃.我得到的唯一错误消息表明Apache停止工作.我的Apache版本是

Apache/2.4.2(Win32)OpenSSL/1.0.1c PHP/5.4.4

以下代码执行完美:

 $string = trim($string);
 if(!empty($string)) { ... }
Run Code Online (Sandbox Code Playgroud)

所以,我的代码运行得很好.我仍然想知道:为什么Apache会因此而崩溃?在我看来,两个代码片段都是一样的.或者我错过了什么?

谢谢!

Mar*_*ker 5

除非您已经运行PHP 5.5:

在PHP 5.5之前,empty()仅支持变量; 其他任何东西都会导致解析错误.换句话说,以下内容不起作用:empty(trim($ name)).相反,使用trim($ name)== false.

(引自PHP文档)