3v4l.org

run code in 500+ PHP versions simultaneously
<?php $counted_array = [ ["ELA-2", 7], ["Science-3", 9], ["ELA-1", 5], ["Science-2", 9], ["ELA-4", 2], ["ELA-3", 7], ["Science-4", 2], ["Science-1", 1] ]; $assoc_array = array_map( function($subarray){ return array_combine( ['Subject', 'Level'], explode('-', $subarray[0], 2) ) + ['Count' => $subarray[1]]; }, $counted_array ); usort($assoc_array, function($a, $b) { return [$a['Subject'], $a['Level']] <=> [$b['Subject'], $b['Level']]; }); var_export($assoc_array);
Output for 7.2.0 - 7.2.33, 7.3.0 - 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 ( 'Subject' => 'ELA', 'Level' => '1', 'Count' => 5, ), 1 => array ( 'Subject' => 'ELA', 'Level' => '2', 'Count' => 7, ), 2 => array ( 'Subject' => 'ELA', 'Level' => '3', 'Count' => 7, ), 3 => array ( 'Subject' => 'ELA', 'Level' => '4', 'Count' => 2, ), 4 => array ( 'Subject' => 'Science', 'Level' => '1', 'Count' => 1, ), 5 => array ( 'Subject' => 'Science', 'Level' => '2', 'Count' => 9, ), 6 => array ( 'Subject' => 'Science', 'Level' => '3', 'Count' => 9, ), 7 => array ( 'Subject' => 'Science', 'Level' => '4', 'Count' => 2, ), )

preferences:
117.07 ms | 1624 KiB | 4 Q