php empty在自定义class时的问题

209次阅读
没有评论

共计 306 个字符,预计需要花费 1 分钟才能阅读完成。

最近在做自定义类,在设置属性时,一个类已经写了下面代码

public function __set($name, $value) {
        $this->offsetSet($name, $value);
    }
    public function __get($name) {
        return $this->offsetGet($name);
    }

但是用 empty 判断时,竟然返回 true 

经过网上查找资料,了解到 empty 触发的不是 __get 方法,而是触发 __set 

加上下面的代码即可

public function __isset($name){
        return $this->offsetExists($name);
    }

补充一下,该类实现了 ArrayAccess

正文完
 0
Eric chan
版权声明:本站原创文章,由 Eric chan 于2020-05-05发表,共计306字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。