概述
本文介绍PHP中empty、is_null、isset三个函数的区别,他们都是用于判断变量是不为“空”的。
一句话简单理解
- isset(),着重检测一个 变量是否设置和这个变量是否有具体的值,当变量满足这两种情况时isset()返回TRUE
- empty(),为TRUE的情况,若变量不存在,或者变量存在且其值为""、0、“0”、NULL、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE。
$myvar = NULL; empty($myvar); // TRUE
$myvar = 0; empty($myvar); // TRUE
$myvar = FALSE; empty($myvar); // TRUE
$myvar = ''; empty($myvar); // TRUE
empty($some_undefined_var); // TRUE
- is_null():
当参数满足下面三种情况时,is_null()将返回TRUE,其它的情况就是FALSE
1、它被赋值为NULL
2、它还没有赋值
3、它未定义,相当于unset(),将一个变量unset()后,不就是没有定义吗
$myvar = NULL;
var_dump(is_null($myvar)); // TRUE
$myvar1;
var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable
$num = 520;
unset($num);
var_dump(is_null($num)); //TRUE Notice: Undefined variable
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable
$myvar = 0; is_null($myvar); // FALSE
$myvar = FALSE; is_null($myvar); // FALSE
总结:
isset:非 null的都为true.
empty: “” , 0 ,0.0,“0”,null,false,array(),未定义var都为true.
is_null:值为null为true.
其他unset,用于销毁给他的变量
Example
$v = array(0=>'淘宝',1=>'天猫');
if(!isset($v['type'])){
$v['type'] = '京东';
dump($v);
}
结果:
array(3) {
[0] => string(6) "淘宝"
[1] => string(6) "天猫"
["type"] => string(6) "京东"
}
最后
以上就是温婉犀牛为你收集整理的PHP中empty、is_null、isset的区别的全部内容,希望文章能够帮你解决PHP中empty、is_null、isset的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复