php empty的一个坑

问题描述

今天写了一段代码,大体的意思是用empty判断一个对象的字段是否为空,若是为空则赋值'',可是在测试的时候碰到了一个问题,对象的属性明明有值,可是empty判断的倒是true,话很少少贴代码php

图片描述

如下是结果:测试

图片描述

是否是很懵逼,是的我当时也很懵逼
后来看了下php手册,发现了手册上说empty用于判断变量是否为空,会不会是由于对象,可仔细想象不对啊,之前也用过不少相似的都没出现过问题。究竟是什么缘由致使的。spa

想了半天,忽然灵光一闪,想到会不会是魔术方法__get的缘由,后来试了如下果真是,贴代码code

图片描述

如下是结果:对象

图片描述

总结:大体是认为empty寻找的是a对象下的test属性,但其实是没有这个属性的,因此致使了这个问题,仅此记录一下blog

相关文章
相关标签/搜索