X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FBaseCollection.php;h=f2a64151d8bd5b2583a774d97a6bb5512155200d;hb=d27576059670faf87f80eaae2b4560f85b5310fc;hp=97e772f168b330bd2706eefc208d576153d764f1;hpb=1874a32728142f2c12724562eb122eb1cd1370fe;p=friendica.git diff --git a/src/BaseCollection.php b/src/BaseCollection.php index 97e772f168..f2a64151d8 100644 --- a/src/BaseCollection.php +++ b/src/BaseCollection.php @@ -129,6 +129,24 @@ class BaseCollection extends \ArrayIterator return new static(array_reverse($this->getArrayCopy()), $this->getTotalCount()); } + /** + * Split the collection in smaller collections no bigger than the provided length + * + * @param int $length + * @return static[] + */ + public function chunk(int $length): array + { + if ($length < 1) { + throw new \RangeException('BaseCollection->chunk(): Size parameter expected to be greater than 0'); + } + + return array_map(function ($array) { + return new static($array); + }, array_chunk($this->getArrayCopy(), $length)); + } + + /** * @inheritDoc *