我可以通过编程方式创建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
- 等等
- 然后回显最后一个引用