$arr = [
'k1' => [
'k2' => [
'k3' => [
'k4' => 'v'
]
]
]
];
Функция принимает строку:
k1/k2/k3
, используя данную строку, необходимо отдать элемент массива: $arr['k1']['k2']['k3']
.С решением помогли на Хабр:
<?php
$arr = [
'k1' => [
'k2' => [
'k3' => [
'k4' => 'v'
]
]
]
];
$s = "k1/k2/k3";
$array = explode('/', $s);
foreach ($array as $v)
{
$arr = $arr[$v];
}
Оказалось, всё просто! С каждой итерацией мы переходим к следующему "вложению" массива, подбираясь к нужному нам элементу.
Проверяем:
print_r($arr);
На экране видим:
['k4' => 'v']
А значит всё правильно.
Для решении мой задачи, так же, есть библиотека Array Dot Notation, но я выбрал решение выше.