Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

PHP. Переменная содержит массив со вложенными массивами. Как получить значение ключа из вложенного массива?

drrtfyer errty Ученик (68), на голосовании 4 года назад
Вывод переменной с помощью print_r ниже.

Могу использовать функцию "array_search" для поиска только в двух ключах: event и ts, потому что это не вложенные массивы. А как получить значение ключа TASK_ID?

Array
(
[event] => ONTASKCOMMENTADD
[data] => Array
(
[FIELDS_BEFORE] => undefined
[FIELDS_AFTER] => Array
(
[ID] => 1713
[TASK_ID] => 839
)

[IS_ACCESSIBLE_BEFORE] => N
[IS_ACCESSIBLE_AFTER] => undefined
)

[ts] => 1594642789
[auth] => Array
(
[domain] => *******
[client_endpoint] => ********/rest/
[server_endpoint] => https://oauth.bitrix.info/rest/
[member_id] => ***********
[application_token] => *************
)

)
Голосование за лучший ответ
Varana Snavina Мудрец (10582) 4 года назад
Спускаетесь по нисходящей: array[0][1][1][0] и так далее внутрь вложенности
drrtfyer errtyУченик (68) 4 года назад
А как это оформить в коде?
$new = OldArray[0][1][1][0]; ?
Varana SnavinaМудрец (10582) 4 года назад
Да. Любые ключи.
Одно значние берем из массива, вложенного в ключ в другой массив:
$new=oldarray[array1_key100][key100_array2_key10];
Varana Snavina Мудрец (10582) Varana Snavina, толькj не цифровые имена ключей в кавычках: ['array1_key100']['key100...']
Varana SnavinaМудрец (10582) 4 года назад
Всё должно работать - создала такой массив для теста, всё работает.
Может при одном запросе данные есть, а при попытке получить значение, какая-то ошибка в этот момент и данных нет - проверьте после получения значения сразу print_r и узнать, есть-ли такие ключи, которые вы пытаетесь получить, и в том ли порядке они идут.
Похожие вопросы