Encodera

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

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

Как найти среднее значение массива

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

Разделите сумму на количество:

<?php
 
$marks = [4, 5, 3, 5];
 
echo array_sum($marks) / count($marks);

Результат:

4.25

Пустой массив

Деление на ноль вызывает ошибку, поэтому пустой массив проверяют отдельно:

<?php
 
function average(array $numbers): float
{
    return $numbers === [] ? 0.0 : array_sum($numbers) / count($numbers);
}
 
var_dump(average([]));
echo round(average([10, 15, 12]), 2);

Результат:

float(0)
12.33

Среднее по полю

Сначала достаньте столбец через array_column():

<?php
 
$orders = [['total' => 1200], ['total' => 800], ['total' => 1000]];
$totals = array_column($orders, 'total');
 
echo array_sum($totals) / count($totals);

Результат:

1000

Функции из этого ответа

  • array_sum — Возвращает сумму значений массива.
  • count — Возвращает количество элементов массива.
  • round — Округляет число до заданного количества знаков.

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

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