<?php
$data = ["test1", "test2"];
$tree = array(
10 => array(),
11 => array(
4 => array(),
5 => array(),
6 => array()
)
);
$path = array(11,5);
function setByIndices(&$tree, $path, $data, $indices = []) {
foreach ($tree as $k => &$v) {
$indices[] = $k;
if ($indices === $path) {
$v = $data;
return;
}
if (is_array($v)) setByIndices($v, $path, $data, $indices);
array_pop($indices);
}
}
setByIndices($tree, $path, $data);
print_r($tree);
preferences:
23.66 ms | 405 KiB | 5 Q