Мне надо по функции add('/test1/test2/test3/', 'Hello') формировать такого вида массив
Array ( [] => Array ( [test1] => Array ( [test2] => Array ( [test3] => Array ( [0] => Hello ) ) ) ) )
А при повторном вызове этой функции дополнять его в зависимости от переданных ключей.
К примеру , если вызвать второй раз add('/test1/test2/test4/', 'World');
Array ( [] => Array ( [test1] => Array ( [test2] => Array ( [test3] => Array ( [0] => Hello, [test4] => World) ) ) ) ).
Я пытался это реализовать таким образом, но он просто не дополняет.
public function add(string $keys, $value)
{
if(empty($this->data)) {
$keys_arr = explode('/', $keys);
$tmp = &$this->data;
foreach ($keys_arr as $key) {
if(!end($keys_arr) == $key) {
$tmp[$key] = [];
$tmp = &$tmp[$key];
}
$tmp[$key] = [$value];
$tmp = &$tmp[$key];
}
}
}