今天写了一段代码,大体的意思是用empty
判断一个对象的字段是否为空,若是为空则赋值'',可是在测试的时候碰到了一个问题,对象的属性明明有值,可是empty
判断的倒是true
,话很少少贴代码php
如下是结果:测试
是否是很懵逼,是的我当时也很懵逼
后来看了下php手册,发现了手册上说empty用于判断变量是否为空,会不会是由于对象,可仔细想象不对啊,之前也用过不少相似的都没出现过问题。究竟是什么缘由致使的。spa
想了半天,忽然灵光一闪,想到会不会是魔术方法__get的缘由,后来试了如下果真是,贴代码code
如下是结果:对象
总结:大体是认为empty
寻找的是a对象下的test属性,但其实是没有这个属性的,因此致使了这个问题,仅此记录一下blog