代码的问题

来源:5-5 魔术方法之__isset和__unset方法

soyoung1994

2016-03-18 20:32

去掉上一节的代码 33 34两行。 返回 为true时  isset和empty 返回都是 1 返回 为false 时, empty返回 1; 这是什么情况?

写回答 关注

2回答

  • heinekenxx
    2016-03-19 11:24:04
    已采纳

    empty,是在类里进行判断的。 isset进的是__isset(),

    soyoun...

    感谢回答 这样一说,就了解了,视频貌似讲的是 empty 和 isset 与 __isset() 都有关,__isset() 函数返回true或者false 影响了 empty函数。

    2016-03-20 13:12:18

    共 1 条回复 >

  • 干锅钱
    2017-02-14 13:55:11

    __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。

PHP面向对象编程

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

70154 学习 · 361 问题

查看课程

相似问题