测试的类型如下:
$a;
$b = false;
$c = '';
$d = 0;
$e = null;
$f = array();
?>
代码如下 | 复制代码 |
var_dump(empty($a)); // 输出 |
从代码中可以看出,只要数据类型是否为空或假,empty()就输出true。
isset()
代码如下 | 复制代码 |
var_dump(isset($a)); // 输出 |
可以看出isset()只能用来判断是否为NULL和未定义。
这意味着,我们在使用变量处理函数时,当该变量可能出现0的值,使用 empty() 要小心,这个时候用 isset 取代它更明智一些。
当一个php页面的 URL 尾部参数出现 id=0 时(比如:test.php?id=0),用isset好
s_null()
代码如下 | 复制代码 |
var_dump(is_null($a)); // 输出 |
is_null 字面意思了。
由此可见 empty() 可以用来判定所有的数据类型是否为空或假,而 is_null 与 isset 基本一样,只能用来判断是否为NULL和未定义。
后来给大家附一张表
下面一张表可以很清楚的说明他们之间的关系:
变量 empty is_null isset
$a=”” true false true
$a=null true true false
var $a true true false
$a=array() true false true
$a=false true false true
$a=15 false false true
$a=1 false false true
$a=0 true false true
$a=”0” true false true
$a=”true” false false true
$a=”false” false false true