今天再次总结一下最基础的php知识,empty和isset的最明显的区别:我们经常使用empty只是判断当前值是否为空,其实也可以判断当前变量是否存在,没必要再写一便isset了。
划重点:
1、只要变量是为“”(空字符串)或者0,或者是false和null,只要是这些值empty()函数都会返回TRUE
2、isset是判断变量是否存在,只要这个变量不是 null 或是未赋值,都会返回TRUE
注意划重点:empyu也可以判断当前变量是否存在,传的变量如果是不存在的,会返回false并不会报错。php5.5后更新的。
isset():检测变量是否设置,并且不是 NULL。成立返回true 否则返回 false;
语法:
isset(var)
参数:
var : 要检查的变量,可以是数组
通过上面多行代码的打印结果对比,不难发现。只要变量存在并且变量不为 null 那个isset() 函数返回的结果都是 true,解释变量的值为空(不是null),或 0 都会返回 true
empty():函数用于检查一个变量是否为空,如变量存在并且非空非零的值时返回 FALSE 否则返回 TRUE。
语法:
empty(var)
参数:var 要检查的变量
注意:empty()判断变量是都存在,即使变量不存在也不会发生警报,
示例代码:
'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() 只检测变量,检测任何非变量的东西都将导致解析错误
推荐