在PHP中动态获取类/对象的属性(事先不知道属性名称)

在PHP中动态获取类/对象的属性(事先不知道属性名称),php,class,variables,properties,Php,Class,Variables,Properties,我想获得一个对象的属性$class->property,但我不知道我将尝试获得的属性的名称 它可能是$class->property\u one,也可能是class->property\u two。 无论是one还是two的信息都存储在一个变量中,我们称之为$var 我得到的最接近的是这个${'$class->property.'$var},但问题是PHP似乎认为我在寻找一个名为“$class->property_xxx”的变量,而事实上我想要$object中的$property 谢谢你的建议

我想获得一个对象的属性
$class->property
,但我不知道我将尝试获得的属性的名称

它可能是
$class->property\u one
,也可能是
class->property\u two
。 无论是one还是two的信息都存储在一个变量中,我们称之为
$var

我得到的最接近的是这个
${'$class->property.'$var}
,但问题是PHP似乎认为我在寻找一个名为“
$class->property_xxx
”的变量,而事实上我想要$object中的$property


谢谢你的建议

您应该按照手册中关于的页面进行操作

您可以这样做:

$property = 'property_' . $var;
echo $obj->$property;
echo $obj->{'property_' . $var};
或者用这种所谓的方式:

$property = 'property_' . $var;
echo $obj->$property;
echo $obj->{'property_' . $var};
试试像这样的东西

$test_class = new stdClass();

$test_class->property_one = 'p_one';
$test_class->property_two = 'p_two';

$var = 'two';

echo $test_class->{"property_$var"};

打印“两张”

谢谢。我应该继续问这个问题还是删除它?继续问。这是一个典型的问题,每个PHP都会问自己一次。而且它被投了更高的票;)