许多利用PHP编写措施的小伙件,都应该纠结过isset()函数与empty()函数之间到底有啥区别。这篇博文别离先容一下 isset() 函数与 empty() 函数的用法,以及它们之间的区别。
PHP isset()函数isset():检测变量是否配置,而且不是 NULL。创立返回true 不然返回 false;
语法:
isset(var)参数:
var : 要查抄的变量,可以是数组
例:isset()函数判定一个变量是否存在或不为null<?php $a = 'ss'; var_dump(isset($a)); // bool(true) $b = null; var_dump(isset($b)); // bool(false) $c = 0; var_dump(isset($c)); // bool(true) $d = array(); var_dump(isset($d)); // bool(true) $e = array('1','2'); var_dump(isset($e)); // bool(true) $f = ''; var_dump(isset($f)); // bool(true) var_dump(isset($g)); // bool(false) $h = false; var_dump(isset($h)); // bool(true) ?>通过上面多行代码的打印功效比拟,不难发明。只要变量存在而且变量不为 null 谁人isset() 函数返回的功效都是 true,表明变量的值为空(不是null),或 0 城市返回 true
PHP empty()函数empty():函数用于查抄一个变量是否为空,如变量存在而且非空非零的值时返回 FALSE 不然返回 TRUE。
语法:
empty(var)参数:var 要查抄的变量
留意:empty()判定变量是,纵然变量不存在也不会产生警报,
例:empty()判定变量是否存示例代码:
<?php $a = 'ss'; var_dump(empty($a)); // bool(false) $b = null; var_dump(empty($b)); // bool(true) $c = 0; var_dump(empty($c)); // bool(true) $d = array(); var_dump(empty($d)); // bool(true) $e = array('1','2'); var_dump(empty($e)); // bool(false) $f = ''; var_dump(empty($f)); // bool(true) $g = false; var_dump(empty($g)); // bool(true) var_dump(empty($h)); // bool(true) $j = '0'; var_dump(empty($j)); // bool(true) $arr = array('a' => 'mochu','b' => 'feiniaomy.com'); var_dump(empty($arr['a'])); // bool(false) var_dump(empty($arr['c'])); // bool(true) ?>以上代码总结说明:
1、若变量不存在则返回 TRUE
2、若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的工具,则返回 TURE
3、若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的工具,则返回 FALSE
4、empty() 函数也可以用来判定数组中指定的键是否存在,存在返回 FALSE,不存在返回TRUE
留意: empty() 只检测变量,检测任何非变量的对象都将导致理会错误
isset()与empty()区别总结:1、只要变量是为“”(空字符串)可能0,可能是false和null,只要是这些值empty()函数城市返回TRUE
2、isset是判定变量是否存在,只要这个变量不是 null 或是未赋值,城市返回TRUE