Задать вопрос

Как поместить значение в ассоциативный массив по «пути» состоящем из ключей-значений массива?

Есть массив содержащий ключи. Допустим:
$a = ['key1','key2','key3']
Как поместить значение в другой массив по этому пути? Т.е. получить в результате:
[
key1=>[key2=>[key3=>'value']]
]

Есть красивый способ без цикла, без рекурсии?
  • Вопрос задан
  • 103 просмотра
Подписаться 3 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@rPman
Без цикла можно использовать array_reduce только массив отреверсить
$a=['key1','key2','key3'];
$value='test';
$r=array_reduce(array_reverse($a),function($c,$i) use ($value) {return [$i=>(is_null($c)?$value:$c)];});
var_dump($r);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
https://github.com/adbario/php-dot-notation не совсем то,но похоже - использовать записи вида "key.subkey" для доступа к элементу ['key']['subkey']
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽