PHP函数积累系列-empty() isset() is_null()的区别

一直以来都不是很确定这三个函数的区别,准确的说,是不知道这三个在一些细节上的区别。

  1. empty 函数简单的来说,就是判断某个变量是否为空
  2. isset 函数就是判断某个变量是否存在
  3. is_null 函数就是判断某个变量是不是null
    从字面上来说的话,这三者还是比较好理解的,但是有一种情况,就是当一个变量不存在或没有定义的时候,这三者的返回值分别会是什么?

首先,isset() 一定会返回 false ,本来isset函数就是来判断变量是否存在的,这个是很好理解的。那么问题来了,不存在的变量是否为空呢?不存在的变量是否为null呢?

        var_dump(isset($a));

        var_dump(empty($b));

        var_dump(is_null($c));

大家先想一下!
结果:
is_null($c) 会直接报Notice,因为is_null必须传已经存在的值。当然,如果用@符号屏蔽警告的话,还是会返回 true 的,就是相当于认为,没有定义就是null。empty函数也是这么认为的,没有被定义的变量,认为是空。
其实,这三者的交叉的地方就是在没有被定义的时候。理解了这点,根据字面上的意思就能使用者三个函数了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值