0

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

if(!empty(trim($string))) { ... }

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

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

以下代码虽然完美执行:

 $string = trim($string);
 if(!empty($string)) { ... }

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

谢谢!

4

2 回答 2

5

除非您已经在运行 PHP 5.5:

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

(引用自PHP 文档

于 2013-07-23T12:02:29.433 回答
0

运行这样的代码绝对没有意义

一个根本不需要它。trim()总是返回一个值——因此,从未使用过任何特殊empty()功能。

if(trim($string)) { ... }
// or, better yet
if($string = trim($string)) { ... }

绰绰有余。

于 2013-07-23T14:11:17.483 回答