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

Метод slice класса ArrayCollection

Метод slice класса ArrayCollection возвращает новый массив, содержащий указанную часть элементов исходной коллекции. Первым параметром передаётся смещение (индекс, с которого начинать выборку), вторым - количество элементов для выборки. Если второй параметр опущен, выборка идёт до конца коллекции. Метод не изменяет исходную коллекцию.

Синтаксис

$collection->slice(int $offset, ?int $length = null)

Пример

Давайте получим первые три элемента коллекции:

<?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']); $res = $collection->slice(0, 3); return new Response(json_encode($res)); } } ?>

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

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

Пример

Давайте получим все элементы, начиная со второго:

<?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']); $res = $collection->slice(1); return new Response(json_encode($res)); } } ?>

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

["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']); $res = $collection->slice(2, 2); return new Response(json_encode($res)); } } ?>

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

["c", "d"]

Пример

Давайте убедимся, что исходная коллекция не меняется:

<?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']); $res = $collection->slice(1, 2); return new Response(json_encode([ 'slice' => $res, 'original' => $collection->toArray() ])); } } ?>

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

{"slice":["b","c"],"original":["a","b","c","d","e"]}

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

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