2016-02-26 213 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" 

希望這會幫助你。