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