这里我们就如下类型进行测试:
$a; $b = false; $c = ‘‘; $d = 0; $e = ‘0‘; $f = null; $g = ‘null‘; $h = array(); $i = array(array());
先来看看empty函数的输出结果:
var_dump(empty($a)); //true var_dump(empty($b)); //true var_dump(empty($c)); //true var_dump(empty($d)); //true var_dump(empty($e)); //true var_dump(empty($f)); //true var_dump(empty($g)); //false var_dump(empty($h)); //true var_dump(empty($i)); //false
这里让我没想到的是$e = ‘0‘;居然也被判断为空。总结empty函数返回为true的情况如下图:
再来看看isset函数的输出结果:
var_dump(isset($a)); //false var_dump(isset($b)); //true var_dump(isset($c)); //true var_dump(isset($d)); //true var_dump(isset($e)); //true var_dump(isset($f)); //false var_dump(isset($g)); //true var_dump(isset($h)); //true var_dump(isset($i)); //true
这里我们可以总结一下:用isset判断时,只要变量被赋值,并且不为null,那么就返回true,否则false。
接下来我们看看is_null函数的输出结果:
var_dump(is_null($a)); //提示未定义变量a var_dump(is_null($b)); //false var_dump(is_null($c)); //false var_dump(is_null($d)); //false var_dump(is_null($e)); //false var_dump(is_null($f)); //true var_dump(is_null($g)); //false var_dump(is_null($h)); //false var_dump(is_null($i)); //false
总结:用is_null判断时,只要变量被赋值,并且不是null就返回rtue,否则返回false。
那么这里我介绍几个雷同函数:
bool is_bool ( mixed $var
) //如果参数
是 boolean 则返回
TRUE,否则返回FALSE
。
bool is_array ( mixed $var
) //如果参数
是 array,则返回
TRUE
,否则返回 FALSE
。
bool is_float ( mixed $var
) //如果参数
是 float 则返回
TRUE
,否则返回 FALSE
。
bool is_int ( mixed $var
) //如果参数
是 integer 则返回
TRUE
,否则返回 FALSE
。(别名:is_integer)
bool is_string ( mixed $var
) //如果参数
是 string 则返回
TRUE
,否则返回 FALSE
。
bool is_object ( mixed $var
) //如果 var
是一个 object 则返回 TRUE
,否则返回 FALSE
。
bool is_resource ( mixed $var
) //如果给出的参数 var
是 resource 类型,is_resource() 返回 TRUE
,否则返回 FALSE
。
bool is_scalar ( mixed $var
) //如果给出的变量参数是一个标量,is_scalar() 返回
TRUE
,否则返回 FALSE
。
bool is_numeric ( mixed $var
) //如果 var
是数字和数字字符串则返回 TRUE
,否则返回 FALSE
。