РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1012 of 1392 menu

Метод sum

Метод sum применяется к коллекции Laravel и возвращает сумму значений по указанному ключу. В качестве параметра метод принимает имя ключа или замыкание (callback), которое определяет, какое значение нужно суммировать. Если коллекция содержит простые числа, можно вызвать метод без параметров.

Синтаксис

<?php collect($items)->sum($key); ?>

Пример 1

Давайте вычислим сумму чисел в коллекции:

<?php use Illuminate\Support\Collection; $collection = collect([1, 2, 3, 4, 5]); $res = $collection->sum(); echo $res; ?>

Результат выполнения кода:

"15"

Пример 2

Давайте вычислим сумму значений поля 'age' в коллекции объектов:

<?php use Illuminate\Support\Collection; $users = collect([ (object) ['name' => 'user1', 'age' => 25], (object) ['name' => 'user2', 'age' => 30], (object) ['name' => 'user3', 'age' => 35], ]); $res = $users->sum('age'); echo $res; ?>

Результат выполнения кода:

"90"

Пример 3

Давайте вычислим сумму значений поля 'price' в коллекции ассоциативных массивов:

<?php use Illuminate\Support\Collection; $products = collect([ ['name' => 'product1', 'price' => 100], ['name' => 'product2', 'price' => 200], ['name' => 'product3', 'price' => 300], ]); $res = $products->sum('price'); echo $res; ?>

Результат выполнения кода:

"600"

Пример 4

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

<?php use Illuminate\Support\Collection; $orders = collect([ ['quantity' => 2, 'price' => 100], ['quantity' => 3, 'price' => 150], ['quantity' => 1, 'price' => 200], ]); $res = $orders->sum(function ($order) { return $order['quantity'] * $order['price']; }); echo $res; ?>

Результат выполнения кода:

"850"

Пример 5

Давайте вычислим сумму значений с использованием вложенного ключа:

<?php use Illuminate\Support\Collection; $data = collect([ ['user' => ['id' => 1, 'score' => 10]], ['user' => ['id' => 2, 'score' => 20]], ['user' => ['id' => 3, 'score' => 30]], ]); $res = $data->sum('user.score'); echo $res; ?>

Результат выполнения кода:

"60"

Смотрите также

  • метод avg,
    который вычисляет среднее значение
  • метод min,
    который находит минимальное значение
  • метод max,
    который находит максимальное значение
  • метод reduce,
    который сводит коллекцию к одному значению
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить