3v4l.org

run code in 500+ PHP versions simultaneously
<?php $iterator = new ArrayIterator(range(1, 100)); function iterable_chunk(iterable $array, int $chunkSize) { for($i=0;;$i++) { $g = (function() use ($array, $chunkSize, $i) { $c = -1; $y = 0; foreach($array as $item) { $c ++; if ($c < $i*$chunkSize) { continue; } if ($c > ($i+1)*$chunkSize-1) { break; } $y ++; yield $item; } if ($y != $chunkSize) { throw new \Exception(); } })(); yield $g; } } try { foreach(iterable_chunk($iterator, 10) as $it1) { foreach ($it1 as $it) { echo $it . " "; } echo "\n"; } } catch (\Exception $e) {}

preferences:
141.08 ms | 2828 KiB | 5 Q