Если у меня есть массив, который соответствует последовательно рекурсивным ключам в другом массиве, как лучше всего присвоить значение этому «пути» (если вы хотите его так назвать) ?
Например:
$some_array = array();
$path = array('a','b','c');
set_value($some_array,$path,'some value');
Теперь $ some_array
должно быть равно
array(
'a' => array(
'b' => array(
'c' => 'some value'
)))
На данный момент я использую следующее:
function set_value(&$dest,$path,$value) {
$addr = "\$dest['" . implode("']['", $path) . "']";
eval("$addr = \$value;");
}
Очевидно, это очень наивный подход и представляет собой безопасность риск, так как бы вы это сделали?