2016-02-26 100 views
2

如何通过变量名获取对象的子对象属性?变量获取子对象属性

echo $object->zip->name; // this one gives "Budapest" 
$field = 'zip->name'; 
echo $object->$field; // this one gives null 

我发现使用$object->{$field}许多解决方案,但它也确实也不工作

+0

你可以添加对象的样子吗? – RamRaider

回答

1

您需要通过->爆炸的名称,然后用被跟随的方法。

$object = new StdClass(); 
$object->zip->name = 'Test'; 


$field = 'zip->name'; 
$field_arr = explode('->', $field); 
var_dump($object->{$field_arr[0]}->{$field_arr[1]}); 

输出:

string(4) "Test" 

希望这会帮助你。