问题描述
今天写了一段代码,大致的意思是用empty
判断一个对象的字段是否为空,如果为空则赋值'',但是在测试的时候碰到了一个问题,对象的属性明明有值,但是empty
判断的却是true
,话不多少贴代码
以下是结果:
是不是很懵逼,是的我当时也很懵逼
后来看了下php手册,发现了手册上说empty用于判断变量是否为空,会不会是因为对象,可仔细想象不对啊,以前也用过很多类似的都没出现过问题。到底是什么原因导致的。
想了半天,突然灵光一闪,想到会不会是魔术方法__get的原因,后来试了以下果然是,贴代码
以下是结果:
总结:大致是认为empty
寻找的是a对象下的test属性,但实际上是没有这个属性的,所以导致了这个问题,仅此记录一下
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。