我想动态引用对象中的属性,因为并非所有对象都具有相同的属性,例如:
if ($person->$status) {
//do this
}
Person是stdClass对象:
stdClass Object
(
[name] => name
[silver] => 214321
[gold] => 334532
)
上面示例中的变量$ status可以是字符串值“silver”或“gold”或任何其他值,我想检查对象是否具有该值的属性。
上面的例子并不完全是我的情况,我只是创建它以证明我的问题。
谢谢!
答案 0 :(得分:1)
您可以使用property_exists
方法检查对象中是否存在属性:
if(property_exists($person, $status)) {
// Do something
}
答案 1 :(得分:1)
您可以使用get_object_vars
获取对象可访问属性的数组:
$person_array = get_object_vars($person_object);
if ($person_array[$status]) {
// do this
}