在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都会问自己一次。而且它被投了更高的票;)