有没有办法检查该类是否在PHP中具有属性?

时间:2013-07-27 15:33:22

标签: php

所有

我写了一个这样的课:

class A {
    private $attr01 = null;

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

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

1 个答案:

答案 0 :(得分:3)

使用property_exists功能:

  

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

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