假设我们有这样一个数组
$arr=array(array('a'=>1,'b'=>2),array('c'=>3,'d'=>4));
以及对其元素之一的引用
$element=&$arr[1]['c'];
我的问题是是否可以仅使用引用返回到原始数组? 那就是在不知道名字的情况下以某种方式返回到父数组......这在更复杂的场景中对我很有用。
最佳答案
不,这当然不可能。作为“引用”(如 PHP 所称;它实际上是一个复制抑制剂)在这件事上一点帮助也没有。您必须将原始数组与元素一起存储。
$elArrPair = array(
"container" => $arr,
"element" => &$arr[1]['c'],
);
这样您可以使用 $elArrPair["element"] = $newValue
更改元素并且仍然能够访问容器。
关于PHP:可以从对数组元素的引用中确定父数组的名称和键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3769715/