Как найти среднее значение массива
Короткий ответ
Разделите сумму на количество:
<?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