0

全部

我写了一个这样的类:

class A {
    private $attr01 = null;

    function __set( $name, $value ) {
        if ( isset($this->attr01) ) {
            $this->attr01 = $value;
        }
        else {
            ;// something else
        }
    }
}

但是,在手册中,如果值为 null,则 isset 返回 false,那么,有没有办法检查属性是否存在?

4

1 回答 1

3

使用property_exists功能:

property_exists— 检查对象或类是否具有属性

function __set( $name, $value ) {
    $prop = 'attr01';
    if (property_exists($this, $prop)) {
        $this->$prop = $value;
    }
    else {
        ;// something else
    }
}
于 2013-07-27T15:34:45.587 回答