<?php
$deep = ['a' => ['b' => ['c' => 5]]];
function set(array $array, array $keys, $value) {
while ($key = array_pop($keys)) {
$value = [$key => $value];
}
return array_replace_recursive($array, $value);
}
function get(array $array, array $keys, $default = null) {
while ($key = array_shift($keys)) {
if (!isset($array[$key])) {
return $default;
}
$array = $array[$key];
}
return $array;
}
$test = set($deep, ['a', 'b', 'c'], 15);
$value = get($test, ['a', 'b', 'c', 'd'], 'spaghetti');
var_dump($deep);
var_dump($test);
var_dump($value);
preferences:
53.71 ms | 402 KiB | 5 Q