我可以通过编程方式创建PHP对象引用链吗?

我可以通过编程方式创建PHP对象引用链吗?,php,arrays,object,reference,key,Php,Arrays,Object,Reference,Key,例如,我知道如何获取一组任意的键,并使用它们来创建像这样的对象引用 $arr = array("A", "B", "C"); foreach($arr as $key): echo $obj->{$key} . "\n"; endforeach; // prints $obj->A, $obj->B and $obj->C 但是,如果我想访问的对象中有多个级别的引用,该怎么办?是否可以动态添加更多箭头操作符 $arr = array(array("A", "B"

例如,我知道如何获取一组任意的键,并使用它们来创建像这样的对象引用

$arr = array("A", "B", "C");
foreach($arr as $key):
    echo $obj->{$key} . "\n";
endforeach;
// prints $obj->A, $obj->B and $obj->C
但是,如果我想访问的对象中有多个级别的引用,该怎么办?是否可以动态添加更多箭头操作符

$arr = array(array("A", "B"),
             array("C", "D", "E"),
             array("F"));
foreach($arr as $key_arr):
    // ???
endforeach;
// prints $obj->A->B, $obj->C->D->E, $obj->F

在回显之前,您必须在名称上循环,并在最后一个对象上保持一个引用

foreach($arr as $key_arr) {
    $ref = $obj ;
    foreach ($key_arr as $item) {
        $ref = $ref->{$item} ; // $obj->A, then $obj->A->B
    }
    echo $ref ;
}
  • $ref=$obj
  • 然后
    $ref=$ref->A
  • 然后
    $ref=$ref->B
    所以
    $ref->A->B
  • 等等
  • 然后回显最后一个引用

在第二个示例中。。你期望值是多少?仅供参考。。。下面是一些可以适应使用对象的示例