簡體   English   中英

PHP - 從動態變量訪問對象屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM