1

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

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

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

谢谢你的建议!

4

3 回答 3

1

您应该按照关于variable variables.

你可以这样做:

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

或者使用像这样的所谓curly 语法

echo $obj->{'property_' . $var};
于 2013-04-18T21:18:37.377 回答
1
$obj->{'property_' . $var};
于 2013-04-18T21:19:43.230 回答
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”

于 2013-04-18T21:22:01.387 回答