Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

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

Короткий ответ

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 — Создаёт массив из двух списков: ключей и значений.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.