3v4l.org

run code in 300+ PHP versions simultaneously
<?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