Как получить значения одного поля из массива массивов
Короткий ответ
array_column() собирает значения указанного ключа:
<?php
$users = [['id' => 3, 'name' => 'Anna'], ['id' => 5, 'name' => 'Oleg']];
echo implode(', ', array_column($users, 'name'));Результат:
Anna, OlegС ключами
Третий аргумент задаёт поле, которое станет ключом:
<?php
$users = [['id' => 3, 'name' => 'Anna'], ['id' => 5, 'name' => 'Oleg']];
echo json_encode(array_column($users, 'name', 'id'));Результат:
{"3":"Anna","5":"Oleg"}Сумма по полю
Колонку удобно сразу передать в array_sum():
<?php
$orders = [['total' => 100], ['total' => 250]];
echo array_sum(array_column($orders, 'total'));Результат:
350Функции из этого ответа
- array_column — Достаёт значения одного ключа из массива массивов.
- array_map — Применяет функцию к каждому элементу массива.
- array_combine — Создаёт массив из двух списков: ключей и значений.