3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = [ "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", ]; function chunkRange(array $arr, int ... $sizes): Generator { $t = 0; $s = count($arr); do { foreach ($sizes as $n => $size) { yield array_slice($arr, $t, $size); $t += $size; } } while($t < $s); } foreach (chunkRange($arr, 1, 2) as $group) { var_dump($group); }

preferences:
29.17 ms | 405 KiB | 5 Q