PHP !empty()是否包含isset()?

经验分享 119 浏览

经常能在项目中看到如下代码,那我们有没有考虑这样是否啰嗦了呢?

if(isset($var) && !empty($var))

首先我们了解下isset() 和 empty()

isset:检测变量是否设置,并且不是 NULL。 即:变量未设置,返回false; 变量为NULL,返回false

empty:检查变量是否为空,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE

如果一个未定义的变量,var_dump(empty($undefined)),返回什么结果呢?

结果:bool(true)

所以,empty()也可以检测变量是否定义,!empty()包含isset()。那我们是否可以用!empty()代替isset()呢?

答曰:完全可以的

我们代码完全可以只做empty判断就可以达到相同目的,并且代码更加简洁、清晰。

if(!empty($var))
|  版权声明:本文为博主原创文章,转载请注明出处。