为了账号安全,请及时绑定邮箱和手机立即绑定
isset和empty不是相反的关系,set判断的是值是否被定义过,empty认为没定义过的也返回true!

正在回答

3 回答

__get方法如果不返回值的话empty()就一直返回true,在empty()调用时会先调用__isset再调用__get,__isset返回false,empty()就与之相反取true而不会调用__get,__isset返回true,就会调用__get,当有返回值时相当于true,所以结果为false,这相当于一个或关系。empty(false|true) = true|false = true,empty(true|true)=false|false=false。

2 回复 有任何疑惑可以回复我~
如果变量的值是0,用isset和empty返回的都是true怎么能说是是相反的!
2 回复 有任何疑惑可以回复我~

是相反的.但要吧ECHO TRUE 改成 ECHO FALSE...

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP面向对象编程
  • 参与学习       70153    人
  • 解答问题       361    个

从容应对面试官的知识宝典,带你握面向对象的最重要的核心能力

进入课程
意见反馈 帮助中心 APP下载
官方微信