PHP中 unset删除对象中的私有属性后 用isset判断这个属性是否存在,但是一直返回true

如题所述

原因在于,在__isset方法中,对house_owner属性是否存在进行了判断,而unset操作只是将值和变量名之间的关系解除,并没有把属性本身删除。也就是说property_exists()方法,是判断属性是否存在,并不是属性是否有值。所以在调用isset时,每次都调用__isset魔术方法,而property_exists()方法始终返回true,所以会导致判断时,始终为true。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网