diff --git a/src/MD_STD.php b/src/MD_STD.php index b16e1ea..dc8ea31 100644 --- a/src/MD_STD.php +++ b/src/MD_STD.php @@ -763,4 +763,32 @@ final class MD_STD { } } + + /** + * Splits an lists of integers into parts of a predefined size and returns those + * as sub-lists of a superordinate list. + * + * @param integer[] $input Input array. + * @param integer $size Size of each part of the return set. + * + * @return array + */ + public static function split_int_array_into_sized_parts(array $input, int $size):array { + + if ($size < 1) { + throw new Exception("Size must be lower than 1"); + } + + $output = []; + + $max = count($input); + $offset = 0; + while ($offset < $max) { + $output[] = array_slice($input, $offset, $size - 1); + $offset += $size; + } + + return $output; + + } }