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

时间:2013-04-18 21:15:34

标签: php class variables properties

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

可能是$class->property_one,也可能是class->property_two一个两个的信息存储在变量中,我们称之为$var

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

谢谢你的建议!

3 个答案:

答案 0 :(得分:1)

您应该按照variable variables

的手册页进行操作

你可以这样做:

$property = 'property_' . $var;
echo $obj->$property;

或者像这样所谓的curly syntax

echo $obj->{'property_' . $var};

答案 1 :(得分:1)

$obj->{'property_' . $var};

答案 2 :(得分:1)

尝试类似

的内容
$test_class = new stdClass();

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

$var = 'two';

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

打印'p_two'