[英]PHP - Accessing a object property from dynamic variable
我正在尋找訪問這樣的對象的對象屬性的屬性:
$property = "user->name";
echo $object->$property; // ??, I want $object->user->name
我嘗試了很多東西,但似乎都沒有效果。
謝謝
我不認為您可以通過這種方式進行多次取消引用。 您將在$object
查找名為user->name
的變量。 相反,您可以通過->
拆分,然后進行多次調用,例如:
$test = 'user->name';
$val = $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};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.