У меня есть список ключей массива и уровень вложенности в одном массиве, например:
$keys[0] = 'first';
$keys[1] = 'second';
$keys[2] = 'third';
Как я могу преобразовать это в многомерный массив в следующем формате:
$array['first']['second']['third'] = 'value';
Я попробовал пару разных вариантов, которые не сработали, и ключи перезаписывались. Самый простой способ - подсчитать количество ключей и вручную охватить каждый сценарий, но это вряд ли оптимизировано и не увеличивается динамически.
$keyLen = count($keys);
if ($keyLen == 1) {
$array[$keys[0]] = 'value;
} elseif ($keyLen == 2) {
$array[$keys[0]][$keys[1]] = 'value;
} elseif ($keyLen == 3) {
$array[$keys[0]][$keys[1]][$keys[2]] = 'value';
} ...
Пара замечаний: значение не имеет значения, это вложение ключей массива, и я не могу изменить исходный формат массива.