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

Функция collect

Функция collect создаёт новый экземпляр класса Collection из переданных данных. В качестве аргумента может принимать массив, объект, итерируемую структуру или null. Если аргумент не передан, создаётся пустая коллекция. Функция особенно полезна для работы с массивами данных с использованием мощного API коллекций Laravel.

Синтаксис

<?php collect($items); ?>

Пример

Давайте создадим коллекцию из массива чисел и применим метод sum:

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

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

"15"

Пример

Создадим коллекцию из массива строк и отфильтруем элементы:

<?php use Illuminate\Support\Collection; $res = collect(['a', 'b', 'c', 'd', 'e'])->filter(function ($item) { return $item > 'b'; }); print_r($res->toArray()); ?>

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

["c", "d", "e"]

Пример

Функция может создавать коллекцию из объекта:

<?php use Illuminate\Support\Collection; $obj = new stdClass(); $obj->name = 'article'; $obj->status = 'published'; $res = collect($obj); print_r($res->toArray()); ?>

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

["name" => "article", "status" => "published"]

Пример

Создадим пустую коллекцию и добавим элементы:

<?php use Illuminate\Support\Collection; $res = collect(); $res->push('a'); $res->push('b'); $res->push('c'); print_r($res->toArray()); ?>

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

["a", "b", "c"]

Пример

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

<?php namespace App\Http\Controllers; use Illuminate\Support\Collection; use App\Models\Article; class ArticleController extends Controller { public function index() { $articles = Article::where('status', 'published')->get(); $res = collect($articles)->map(function ($article) { return $article->title; }); print_r($res->toArray()); } } ?>

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

["article 1", "article 2", "article 3"]

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

  • класс Collection,
    который представляет собой обёртку для работы с массивами
  • метод make,
    который создаёт новый экземпляр коллекции
  • метод empty,
    который создаёт пустую коллекцию
  • метод range,
    который создаёт коллекцию из диапазона чисел
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить