Решение Найдено: Динамические ключи массива
У меня многомерный динамический массив, формат которого меняется. например.
$data = array('blah1'=>array('blah2'=>array('hello'=>'world')));
Затем у меня есть динамический путь в виде строки.
$pathway = 'blah1/blah2/hellow';
Путь разбит на его составные части, для простоты:
$pathway_parts = explode('/', $pathway);
Моя проблема возникает из-за желания установить значение «привет». То, как я в настоящее время это делаю, – это через eval, но я хочу лишить этого зла частично из-за того, что php Suhosin упростил приложение, но также потому, что я не считаю, что это лучший способ.
eval('$data["'.implode('"]["', $pathway_parts).'"] = $value;');
$ data всегда должны возвращать полный массив, потому что дальше по массиву он сериализуется и сохраняется. Каким образом можно было бы поперек массива установить значение без использования eval?