检查属性是否存在 [英] Check if property exists

查看:56
本文介绍了检查属性是否存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以检查是否存在使用魔术师设置的属性?

Is it possible to check if a property exists which are set using magic setter?

class Test
{
    private $vars;

    public function __set($key, $value) {
        $this->vars[$key] = $value;
    }

    public function &__get($key)
    {
        return $this->vars[$key];
    }
}

$test = new Test;

$test->myvar = 'yay!';

if (magic_isset($test->myvar)) {
}

还是不可能,我只需要在课堂上设置另一个功能?

Or isn't it possible and I just need to setup another function in my class?

推荐答案

使用 __isset() isset() :

public function __isset($key)
{
    return isset($this->vars[$key]);
}

$test = new Test;

$test->myvar = 'yay!';

if (isset($test->myvar)) {

}

这篇关于检查属性是否存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆