Метод slice
Метод slice применяется к коллекции и возвращает новый экземпляр коллекции, содержащий элементы с указанной позиции. Первым параметром передаётся начальная позиция (индекс), вторым - количество элементов для извлечения. Если второй параметр не указан, возвращаются все элементы от начальной позиции до конца коллекции.
Синтаксис
<?php
$collection->slice($offset, $limit);
?>
Пример
Давайте извлечём срез из коллекции, начиная со второго элемента:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->slice(1);
echo $res->toJson();
?>
Результат выполнения кода:
["b","c","d","e"]
Пример
Давайте извлечём срез из коллекции, начиная с первого элемента, и ограничим количество элементов тремя:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->slice(0, 3);
echo $res->toJson();
?>
Результат выполнения кода:
["a","b","c"]
Пример
Давайте извлечём срез из коллекции, начиная с третьего элемента, и ограничим количество элементов двумя:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->slice(2, 2);
echo $res->toJson();
?>
Результат выполнения кода:
["c","d"]
Пример
Давайте извлечём срез из коллекции с отрицательным смещением. Отрицательное смещение отсчитывается от конца коллекции:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['a', 'b', 'c', 'd', 'e']);
$res = $collection->slice(-2, 2);
echo $res->toJson();
?>
Результат выполнения кода:
["d","e"]