3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ "Aulas Gratuitas", "149", "151", "153", "Módulo 0", "964", "989", "967", "978", "Módulo 1", "985", "1079", "1001", "1003", "1005", "Módulo 2", ]; $result = []; foreach ($array as $value) { if (!ctype_digit($value)) { unset($units); $units = []; $result[] = ['title' => $value, 'units' => &$units]; } else { $units[] = $value; } } var_export($result);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array ( 0 => array ( 'title' => 'Aulas Gratuitas', 'units' => array ( 0 => '149', 1 => '151', 2 => '153', ), ), 1 => array ( 'title' => 'Módulo 0', 'units' => array ( 0 => '964', 1 => '989', 2 => '967', 3 => '978', ), ), 2 => array ( 'title' => 'Módulo 1', 'units' => array ( 0 => '985', 1 => '1079', 2 => '1001', 3 => '1003', 4 => '1005', ), ), 3 => array ( 'title' => 'Módulo 2', 'units' => array ( ), ), )

preferences:
101.94 ms | 408 KiB | 5 Q