php中isset的empty区别?

原文

1 错误

在PHP中,经常会有需要判断某些变量是否为空的情况,这个时候,PHP中有两个函数可供使用:

  • isset:判断变量的变量值是否已经设置
  • empty:判断当前变量是否为空

这里需要注意,当使用empty的时候,如果这个变量的值为0,系统也会认为这个变量为空。如果想要使用避免一些错误,应该明白这个时候的逻辑到底是什么。建议使用isset代替empty

我需要判断当data数组中的a变量为空的时候,就输出错误信息,但是我的这个a变量本身的值有可能是0,导致我在这个问题上纠结了很久,最后通过测试,发现了问题,然后我使用isset代替了empty,但是还是不行。

if (empty($data['a'])) {   //即使a不为空,也会进入到这个里面
	return \Fam\Api\Api::fail('error');
}
if (isset($data['a'])) {   //即使a不为空,也会进入到这个里面
	return \Fam\Api\Api::fail('error');
}  

经过对比这两个方法的区别,最后我是用了下面的方法,问题完美解决。

if (!isset($data['a'])) {   //问题解决
	return \Fam\Api\Api::fail('error');
}  

写在最后

欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。
微信公众号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值