php-isset()和empty()的区别

相信大家对isset()和empty()这两个函数都不陌生,都是用来判断变量情况的,很多人都会把他搞混,或者不知道什么时候用哪个,那今天就来深入理解一下,彻底弄清楚。

联系:既然容易搞混那么肯定有相似的地方,其共同点就是empty()和 isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足。
区别:他们最大的区别就在于对状态的定义不同,我们分别说明;
       isset()   准确的解释是,检测变量是否设置
       返回值为true的情况: 变量不存在,变量存在但为null
       返回值为false的情况:变量存在且不为空
       需要注意的是:如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

       empty()
       返回值是false的情况;变量存在且非0非null
       返回值是true的情况:变量不存在、”“、0、”0“、 、NULL、FALSE、array()、var $var以及没有任何属性的对象

相同情况的区别:

当变量等于0时,empty()返回TRUE,isset() 返回TRUE;
当变量是空字符串的时候,empty()返回TRUE,isset()返回TRUE;
当变量未定义时,empty()返回TRUE,isset()返回FALSE。

使用情况:

当判断一个变量是否声明的时候,用isset();
当判断一个变量是否已经赋值数据且不为空时,用empty();
当判断一个变量存在且不为空时,先用isset(),再用empty().

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值