3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = [1, 2, 3, 5, 4, 7, 6, 8, 9]; $batches = generateBatches($input); function generateBatches($input) { $length = count($input); if (0 === $length) { return []; } $batches = []; $prev = $input[0]; $currentBatch = [$prev]; for ($i = 1; $i < $length; $i++) { if ($i < $prev) { $batches[] = $currentBatch; $currentBatch = []; } $currentBatch[] = $prev = $input[$i]; } $batches[] = $currentBatch; return $batches; } print_r($batches);
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 ) [1] => Array ( [0] => 4 [1] => 7 ) [2] => Array ( [0] => 6 [1] => 8 [2] => 9 ) )

preferences:
122.74 ms | 1465 KiB | 4 Q