empty与isset的用法及区别(转载)

empty与isset的用法及区别

很多同学对empty和isset的区别并不清楚,在判断变量是否为空的时候往往混用,很多情况下,这两个函数确实具有相同的判断结果,所以并未发现什么异常。但是依心在这里要强调的一点事,empty和isset这两个函数千万不能混用,该用哪个就用哪个,否则当你判断一个变量时,测试的时候可能没发现问题,但是在上线之后出现各种各样的数据后问题就显现出来了。依心在这里不重复文档,只是按照依心的理解给大家分析一下。

empty,判断一个变量是否为空。包括变量没有初始化,变量为空字符串,变量值为0,变量值为null,变量值为false,如$a=”,$a=’0′,$a=0,$a=null,$a=false等情况用empty判断都是true,这里大家要注意一下当$a=’null’时是返回false的,因为此时$a为字符串,而不是null类型,这与$a=’0′的情况是不一样的,因为$a=’0′即使是字符串,但也是0,至于php为什么会这样设置,那就是它本身的问题,而不是我们该考虑的了。

isset,判断一个变量是被被设置(初始化),只要你事先给变量赋值,无论是不是空置,它都返回true。如$a=”,,$a=0,这些变量看似是空值,但是实际上已经被赋值,所以用isset判断,都会返回true。这里注意一个变量类型,null,如果一个变量为null,说明它还没有被赋值,所以用isset会返回false。还有什么情况下isset会返回false呢,比如$a=1;var_dump(isset($b));再比如$a=1;unset($a);var_dump($a);这两种情况都会返回false,依心在此只是举例两种情况,并不局限于这两种情况。

依心写到这里,感觉区别这两个函数还是挺容易的,关键在于理解他的意义。empty判断一个变量是否为空,isset判断一个变量是否被初始化,仅此而已。

这篇文章当年不知道转载谁的。呵呵,感觉对初学php的小伙伴挺有用的。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值