I\'m trying to loop through one array, adding a new level to another array each time. Let me illustrate - variable $arr\'s values are different each time
$ar
function add_inner_array(&$array, $index) {
if(isset($array[$index])) return true;
else {
$array[$index] = array();
return true;
}
}
$a = array(1,5,6);
$index = array();
$pass =& $index;
foreach($a as $k) {
add_inner_array($pass, $k);
$pass =& $pass[$k];
}
I may be wrong, but I think you are asking the same as this question: Multidimensional Arrays Nested to Unlimited Depth
You basically want to see how deep an multi-dimensional array is, right? If so this should be helpful: Is there a way to find out how "deep" a PHP array is?
You can use references here:
$a = array("1","5","6");
$b = array();
$c =& $b;
foreach ($a as $k) {
$c[$k] = array();
$c =& $c[$k];
}
outputs
Array
(
[1] => Array
(
[5] => Array
(
[6] => Array
(
)
)
)
)
To overwrite the last element with some other value, you can just add the line:
$c = 'blubber';
after the loop, because $c is a reference to the deepest array level, when the loop is finished.