let's assume we have an array like this
$arr=array(array('a'=>1,'b'=>2),array('c'=>3,'d'=>4));
and a reference to one of its elements
$element=&$arr[1]['c'];
My question is is it possible to get back to the original array using the reference alone? That is to get back to the parent array in some way without knowing it by name... This would be useful to me in a more complex scenario.
No, it's certainly not possible. Being a "reference" (as PHP calls it; it's actually a copy inhibitor) doesn't help at all in that matter. You'll have to store the original array together with the element.
$elArrPair = array(
"container" => $arr,
"element" => &$arr[1]['c'],
);
This way you can change the element with $elArrPair["element"] = $newValue
and still be able to access the container.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With