0

次のように、すべてのオブジェクトが同じ属性を持っているわけではないため、オブジェクト内の属性を動的に参照したいと思います。

if ($person->$status) {
    //do this
}

PersonはstdClassオブジェクトです:

stdClass Object
                    (
                        [name] => name
                        [silver] => 214321
                        [gold] => 334532
                    )

上記の例の変数$statusは、文字列値「silver」または「gold」またはその他の値である可能性があり、オブジェクトにその値の属性があるかどうかを確認したいと思います。

上記の例は私の場合ではなく、問題を示すために作成したものです。

ありがとうございました!

4

2 に答える 2

1

get_object_varsオブジェクトのアクセス可能なプロパティの配列を取得するために使用できます。

$person_array = get_object_vars($person_object);
if ($person_array[$status]) {
    // do this
} 
于 2013-03-09T16:30:36.373 に答える
1

このproperty_existsメソッドを使用して、プロパティがオブジェクトに存在するかどうかを確認できます。

if(property_exists($person, $status)) {
  // Do something
}
于 2012-02-02T12:29:29.520 に答える