]> git.mxchange.org Git - friendica.git/blobdiff - src/BaseCollection.php
Merge pull request #13676 from MrPetovan/bug/13673-markers-json-output
[friendica.git] / src / BaseCollection.php
index 97e772f168b330bd2706eefc208d576153d764f1..f2a64151d8bd5b2583a774d97a6bb5512155200d 100644 (file)
@@ -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
         *