1.empty() 检查一个变量是否为空
<?php
$ret = empty($a);//$ret = true
$a = 0;
$ret = empty($a);//$ret = true
$a = 0.0;
$ret = empty($a);//$ret = true
$a = '0';
$ret = empty($a);//$ret = true
$a = false;
$ret = empty($a);//$ret = true
$a = null;
$ret = empty($a);//$ret = true
$a = '';
$ret = empty($a);//$ret = true
$a = array();
$ret = empty($a);//$ret = true
?>
从如上结果可以得出
1.当且仅当参数值为非空非零时返回false,否则返回true
2.当变量不存在的时候不会产生警告
3.当变量只不存在或者是变量为
(1)” : 空字符串
(2)0 : 作为整数的0
(3)0.0 : 作为浮点数的0
(4) ‘0’ : 作为字符串的0
(5)null
(6)false
(7)array()
(8)$var;(声明了但没有值得变量)
以上返回true。即为空
所以我们在程序里面需要判断GET 或 POST 的参数是否为空在使用empty的同时还要判断参数是否为0(数字、字符串)如:
<?php
if(empty($GET('a') && $GET('a') != str
?>
2.isset() 检测变量是否设置并且不是null
<?php
$ret = isset($a);//$ret = false
$a = 0;
$ret = isset($a);//$ret = true
$a = 0.0;
$ret = isset($a);//$ret = true
$a = '0';
$ret = isset($a);//$ret = true
$a = false;
$ret = isset($a);//$ret = true
$a = null;
$ret = isset($a);//$ret = false
$a = '';
$ret = isset($a);//$ret = true
$a = array();
$ret = isset($a);//$ret = true
$a = '\0';
$ret = isset($a);//$ret = true
$a = 56;
unset($a);
$ret = isset($a); //$ret = true
?>
这里需要注意,如果使用了unset()释放变量,它将不再是isset()。
若使用isset()测试一个被设置成NULL的变量,将返回false。
同时需要注意的是一个NULL字节(‘\0’)并不等同于PHP的NULL常数