3v4l.org

run code in 500+ PHP versions simultaneously
<?php $leaders = [1,4,8,13]; $members = [2,3,5,6,7,9,10,11,12]; $result = []; $lastMember = null; foreach ($members as $member) { if ($lastMember === null || $lastMember !== $member - 1) { unset($ref); $result[array_shift($leaders)] = &$ref; } $ref[] = $lastMember = $member; } foreach ($leaders as $leader) { $result[$member] = null; } var_export($result);
Output for 7.4.0 - 7.4.33, 8.0.1 - 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.7
array ( 1 => array ( 0 => 2, 1 => 3, ), 4 => array ( 0 => 5, 1 => 6, 2 => 7, ), 8 => array ( 0 => 9, 1 => 10, 2 => 11, 3 => 12, ), 12 => NULL, )

preferences:
92.76 ms | 1286 KiB | 4 Q