Add class for splitting a list into lists of a predefined size
This commit is contained in:
parent
e19e0c875c
commit
eb869071b8
|
@ -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<integer[]>
|
||||
*/
|
||||
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;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user