所有
我写了一个这样的课:
class A {
private $attr01 = null;
function __set( $name, $value ) {
if ( isset($this->attr01) ) {
$this->attr01 = $value;
}
else {
;// something else
}
}
}
但是,在手册中,如果值为null,则isset返回false,那么,有没有办法检查属性是否存在?
答案 0 :(得分:3)
使用property_exists
功能:
property_exists
- 检查对象或类是否具有属性
function __set( $name, $value ) {
$prop = 'attr01';
if (property_exists($this, $prop)) {
$this->$prop = $value;
}
else {
;// something else
}
}