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

Класс ArrayCollection

Класс ArrayCollection - это мощный инструмент из компонента Doctrine Collections, который используется в Symfony для работы с наборами данных. Он инкапсулирует внутри себя обычный массив и предоставляет множество методов для удобной работы с элементами: добавления, удаления, фильтрации, поиска и сортировки. Первым параметром конструктор принимает исходный массив элементов.

Синтаксис

new ArrayCollection(array $elements = [])

Пример

Давайте создадим коллекцию из обычного массива и выведем её содержимое:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use DoctrineCommonCollectionsArrayCollection; class ArticleController extends AbstractController { public function index(): Response { $collection = new ArrayCollection(['a', 'b', 'c', 'd', 'e']); return new Response(implode(', ', $collection->toArray())); } } ?>

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

"a, b, c, d, e"

Пример

Давайте добавим новый элемент в коллекцию и проверим его наличие:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use DoctrineCommonCollectionsArrayCollection; class ArticleController extends AbstractController { public function index(): Response { $collection = new ArrayCollection(['a', 'b', 'c', 'd', 'e']); $collection->add('hello'); $res = $collection->contains('hello') ? 'found' : 'not found'; return new Response($res); } } ?>

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

"found"

Пример

Давайте отфильтруем коллекцию, оставив только нужные элементы:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use DoctrineCommonCollectionsArrayCollection; class ArticleController extends AbstractController { public function index(): Response { $collection = new ArrayCollection([1, 2, 3, 4, 5]); $filtered = $collection->filter(function ($value) { return $value > 2; }); return new Response(implode(', ', $filtered->toArray())); } } ?>

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

"3, 4, 5"

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

  • метод add,
    который добавляет элемент в коллекцию
  • метод removeElement,
    который удаляет элемент из коллекции
  • метод filter,
    который фильтрует элементы по callback-функции
  • метод toArray,
    который возвращает обычный массив из коллекции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить