Задать вопрос
stanislav-belichenko
@stanislav-belichenko
Backend PHP Developer

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

Вопрос звучит совершенно непонятно, поэтому поясню на примере кода:

$data['name1']['name2']['name3'] = 'some data'; // это элемент, который мы хотим получить

$keys_str = 'name1,name2,name3'; // можно вот так получить ключи в строку
$keys_arr = ['name1', 'name2', 'name3'] // а можно вот так в массив
$keys_str = '[name1][name2][name3]'; // а можно в строку и так
$keys_str = '["name1"]["name2"]["name3"]'; // или даже так

И в итоге, имея только ключи в том или ином виде и массив, к которому они подойдут (могут подойти) нам нужно получить значение по этим ключам в массиве, ну или ответ, что такого элемента не существует. Как это можно наиболее красиво и понятно реализовать?

Уточнение: ключи собираются из определенной строки при ее рекурсивной обработке, то есть мы их получаем последовательно и в целом можем сложить куда угодно, хоть в какой угодно массив, хоть в какую угодно строку, но суть в том, что после этого мы должны проверить, есть ли с набором таких ключей элемент в некоем отдельном массиве, или нет.
  • Вопрос задан
  • 9590 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Александр Аксентьев К ответам на вопрос (6)
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
ну так по мере получения ключей и забраться внутрь

$data[$key][$key2][$key3]
Ответ написан