Метод avg
Метод avg применяется к коллекции и возвращает среднее арифметическое значение для указанного ключа. Метод принимает один параметр - ключ или callback-функцию, по которым будет вычисляться среднее значение. Если коллекция пуста или передан несуществующий ключ, метод возвращает null.
Синтаксис
<?php
$collection->avg($key);
?>
где $key - строковый ключ или callback-функция.
Пример
Давайте вычислим среднее значение поля 'price' для коллекции товаров:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([
['name' => 'product', 'price' => 10],
['name' => 'product', 'price' => 20],
['name' => 'product', 'price' => 30],
['name' => 'product', 'price' => 40],
]);
$res = $collection->avg('price');
echo $res;
?>
Результат выполнения кода:
"25"
Пример
Давайте вычислим среднее значение с использованием callback-функции:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([
['price' => 10, 'tax' => 2],
['price' => 20, 'tax' => 4],
['price' => 30, 'tax' => 6],
['price' => 40, 'tax' => 8],
]);
$res = $collection->avg(function ($item) {
return $item['price'] + $item['tax'];
});
echo $res;
?>
Результат выполнения кода:
"30"
Пример
Давайте вычислим среднее значение для коллекции простых чисел:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([1, 2, 3, 4, 5]);
$res = $collection->avg();
echo $res;
?>
Результат выполнения кода:
"3"
Пример
Давайте обработаем пустую коллекцию:
<?php
use Illuminate\Support\Collection;
$collection = new Collection();
$res = $collection->avg('price');
var_dump($res);
?>
Результат выполнения кода:
"NULL"