PHP中empty、is_null、isset的区别

本文详细介绍了PHP中empty、is_null、isset三个函数的用法和区别。isset检测变量是否已设置并有非NULL值,empty则判断变量是否存在且其值是否为空或等效于空,is_null专门检查变量是否为NULL。通过示例代码展示了各种情况下的返回值,帮助理解这三个函数在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍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) "京东"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值