isset和empty不是相反的關(guān)系,set判斷的是值是否被定義過,empty認(rèn)為沒定義過的也返回true!

worst001
2014-09-18
3 回答
舉報
0/150
提交
取消
2017-02-14
__get方法如果不返回值的話empty()就一直返回true,在empty()調(diào)用時會先調(diào)用__isset再調(diào)用__get,__isset返回false,empty()就與之相反取true而不會調(diào)用__get,__isset返回true,就會調(diào)用__get,當(dāng)有返回值時相當(dāng)于true,所以結(jié)果為false,這相當(dāng)于一個或關(guān)系。empty(false|true) = true|false = true,empty(true|true)=false|false=false。
2014-11-20
2014-09-19
是相反的.但要吧ECHO TRUE 改成 ECHO FALSE...