@Kerm

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

Пример массива:

$array = [
            "PaymentInfo" => [
                "paymentInfo" => "олролро",
                "fileList" => [
                    "fileCode" => "3623"
                ],
            ],
            "PaymentInfo2" => [
                "paymentInfo2" => "олролро",
                "fileList" => [
                    "fileCode" => "3623"
                ],
                "files" => [
                        "name" => "dfgdfgd",
                        "file" => [
                                'fileCode' => "6486"
                            ]
                    ]
            ],
            "file" => 
                [
                    "fileCode" => "3623"
                ],[
                    "fileCode" => "3623"
                ]
        ];


В массиве может быть множество ключей fileCode на разных уровнях массива, нужно найти все и создать из них массив, что то типа [0 => "3623", 1 => "3650", 2 => "3670"]

Хотелось бы реализовать с помощью обычных php методов работающих с массивами, без написания вручную рекурсивных методов. Я попробовал array_map, array_column хотя там и пишут что они работают с многомерными массивами в итоге с подобным массивом они чего то не работают так как должны бы.
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
0xD34F
@0xD34F
$fileCodes = [];
array_walk_recursive($array, function($v, $k) use(&$fileCodes) {
  if ($k === 'fileCode') {
    $fileCodes[] = $v;
  }
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 14:21
15000 руб./за проект
25 апр. 2024, в 14:07
20000 руб./за проект
25 апр. 2024, в 14:06
2500 руб./за проект