PHP更好的检查非空的方法?

时间:2014-09-02 07:20:54

标签: php

检查非空var的常用方法是:

if (!empty($var)) { ... }

为什么我们不能使用:

if ($var) { ... }

实际上他们是一样的,对吧?

参考:http://php.net/manual/types.comparisons.php

1 个答案:

答案 0 :(得分:7)

!empty($var)$var完全相同,只有empty 如果$var不存在则不会引发任何错误。< / strong> empty或多或少是!isset($var) || !$var的缩写。

如果您希望自己的变量存在,则永远不要使用empty,因为这样您就会不必要地抑制错误报告。如果合法地期望变量可能不存在,则仅使用empty。如果您正确地初始化变量,那么这种情况很少发生。

请参阅The Definitive Guide To PHP's isset And empty对此进行深入讨论。