У меня есть массив с деревом конфигурации:
$cfg = array('global' => array(
'project' => 'foo',
'base_url' => '/path/',
'charset' => 'utf-8',
'timezone' => 'Europe/Lisbon',
'environment' => 'development'),
//...
);
Мне нужно вставить элемент в дерево (или, возможно, изменить его) с учетом таких строк, как "global:project"
и "bar"
, где сначала указываетсяпуть к элементу и второе его значение.Таким образом, значение 'foo'
в $cfg['global']['project']
станет 'bar'
.
Вот функция, которая мне нужна:
function set_cfg($path, $value)
{ /* Alter $cfg with the given settings */ }
Итак, я начинаю с разрыва строки пути с ':'
и иметь массив с ключами пути:
$path = explode(':', $path)
Что дальше?Как определить (рекурсивно?) Операцию вставки ключей в массив $cfg
?