@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;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
от 300 000 до 500 000 ₽
07 мая 2024, в 23:46
3000 руб./за проект
07 мая 2024, в 23:32
1200 руб./в час
07 мая 2024, в 23:27
1000 руб./за проект