Метод split
Метод split применяется к коллекции Laravel
и разбивает её на указанное количество групп.
В качестве единственного параметра передаётся
целое число - количество групп, на которые
нужно разделить коллекцию. Метод возвращает
новую коллекцию, содержащую указанное количество
подколлекций.
Синтаксис
<?php
$collection->split($numberOfGroups);
?>
Пример
Давайте разобьём коллекцию из пяти элементов на две группы:
<?php
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$res = $collection->split(2);
echo $res;
?>
Результат выполнения кода:
[[1, 2, 3], [4, 5]]
Пример
Разобьём коллекцию строк на три группы:
<?php
use Illuminate\Support\Collection;
$collection = collect(['a', 'b', 'c', 'd', 'e']);
$res = $collection->split(3);
echo $res;
?>
Результат выполнения кода:
[['a', 'b'], ['c', 'd'], ['e']]
Пример
Если количество групп превышает количество элементов, то будут созданы пустые подколлекции:
<?php
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3]);
$res = $collection->split(5);
echo $res;
?>
Результат выполнения кода:
[[1], [2], [3], [], []]
Пример
Разобьём коллекцию ассоциативных массивов на две группы. Метод сохраняет ключи элементов в каждой подгруппе:
<?php
use Illuminate\Support\Collection;
$collection = collect([
'first' => 'article',
'second' => 'user',
'third' => 'category'
]);
$res = $collection->split(2);
echo $res;
?>
Результат выполнения кода:
[['first' => 'article', 'second' => 'user'], ['third' => 'category']]