我找訪問對象的對象屬性的屬性這樣一個訪問對象屬性:PHP - 從動態變量
$property = "user->name";
echo $object->$property; // ??, I want $object->user->name
我嘗試了很多東西,但沒有一個似乎工作。
謝謝
我找訪問對象的對象屬性的屬性這樣一個訪問對象屬性:PHP - 從動態變量
$property = "user->name";
echo $object->$property; // ??, I want $object->user->name
我嘗試了很多東西,但沒有一個似乎工作。
謝謝
我不認爲你可以這樣做多個解除引用。您將在$object
中尋找一個名爲user->name
的變量。取而代之的是,你可以通過->
拆分,然後進行多次調用,這樣的:
$test = 'user->name';
$var = $object;
foreach(explode('->', $test) as $item) {
$val = $val->$item;
}
echo $val; # This is the result of $object->user->name
嘗試以下操作:
$property = "user->name";
$prop_arr = explode('->',$property);
foreach ($prop_arr as $prop){
$obj = $obj->{$prop};
}
echo $obj;
如果拆分的可變進2所示:
list($property1, $property2) = explode('->', $property);
echo $object->{$property1}->{$property2};
什麼?你能簡單地解釋一下嗎?顯示你的對象 –
[動態訪問嵌套對象]可能的重複(http://stackoverflow.com/questions/7037240/dynamically-access-nested-object) –
我不認爲這是重複的,我無法按建議使用XPath,因爲這不是XML,而且我無法直接訪問我想要的內容。爲了回答M A SIDDIQUI,我需要存儲一個對象的屬性($ property),並在$ object對象上重用這個變量。 – Treast