繁体   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