通过变量获取子对象属性

时间:2016-02-26 10:55:50

标签: php

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

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

我找到了许多使用$object->{$field}的解决方案,但它也不起作用

1 个答案:

答案 0 :(得分: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"

希望这会对你有所帮助。