@Donald_Duck

Как обратиться к элементу многомерного массива в таком случаи?

Здравствуйте! Столкнулся с такой проблемой: есть строка содержащая ключи массива. По ним нужно добраться до элемента что бы его изменить/присвоить. Строка с ключами имеет примерно такой вид:
$keys = 'key1.key2.key3'; // Вложенность может быть любая

Если нужно просто получить значение массива, то тут проблем нет, а вот как изменить в таком случаи не могу придумать.
  • Вопрос задан
  • 276 просмотров
Решения вопроса 1
@Tarex
Можно использовать присваивание по ссылке.

<?php
$data = ['key1' => ['key2' => ['key3' => 123]]];

$keys = 'key1.key2.key3';
$keysArray = explode('.', $keys);

$element = &$data;
foreach ($keysArray as $key) {
    $element = &$element[$key];
}
$element = 321;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы