課程
/后端開發
/PHP
/PHP面向對象編程
去掉上一節的代碼 33 34兩行。 返回 為true時 ?isset和empty 返回都是 1 返回 為false 時, empty返回 1; 這是什么情況?
2016-03-18
源自:PHP面向對象編程 5-5
正在回答
empty,是在類里進行判斷的。 isset進的是__isset(),
soyoung1994 提問者
__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。
舉報
從容應對面試官的知識寶典,帶你握面向對象的最重要的核心能力
1 回答代碼顯示順序問題
1 回答如何測試自己編寫的代碼
1 回答為什么老師寫的代碼和底部發的源碼不一樣呢
1 回答輸入的代碼是一樣的 報這個錯誤
1 回答老師代碼執行結果的界面怎么弄的
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-19
empty,是在類里進行判斷的。 isset進的是__isset(),
2017-02-14
__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。