is_null()、isset()、empty()的区别

1.is_null()与isset()

在大多数情况下是完全相反的判断,即只要被isset()判断为TRUE,is_null()必然为FALSE,但以下一点需要注意:

当一个变量$var在用is_null判断之前从未出现过即未曾声明过(通常php不必显式声明变量,对变量赋值意味着同时对变量声明,但这并不意味着单独显式声明变量的语句"$var;"有任何语法上的错误,但会被认为是多此一举),这时,is_null($var)会抛出一个NOTICE异常,然后再返回TRUE,而isset($var)则不会有异常提醒。


2.empty()与is_null()

(1)is_null()为TRUE的时候,empty()也为TRUE.但若$var从来未被声明过时,is_null()会有异常提醒,而empty()不会;

        (2)empty()为TRUE时,is_null()不一定为TRUE,因为empty()=true的情况包含以下几种:
 
  • "" (空字符串)
  • 0 (作为整数的0)
  • 0.0 (作为浮点数的0)
  • "0" (作为字符串的0)
  • NULL
  • FALSE
  • array() (一个空数组)
  • $var; (一个声明了,但是没有值的变量)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值