3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array_list= array("Jan 2016"=>2, "Feb 2016"=>4, "Mar 2016"=>2,"Apr 2016"=>0, "Jan 2017"=>9,"Feb 2017"=>2,"Mar 2017"=>5,"Jan 2018"=>4,"Feb 2018"=>6); $start = microtime(1); $array = array(); foreach($array_list as $key => $value): $MonthYear_label = explode(" ",$key); $year_label = $MonthYear_label[1]; $month_label = $MonthYear_label[0]; $curr_year = $year_label; $array[$curr_year]['count'] = $array[$curr_year]['count'] + $value; endforeach; echo (microtime(1)-$start)*1000 . "\n"; $start = microtime(1); foreach(array_keys($array_list) as $key){ $years[] = explode(" ", $key)[1]; } foreach(array_unique($years) as $year){ $res[$year] = array_sum(array_intersect_key(array_values($array_list), array_intersect($years, [$year]))); } echo (microtime(1)-$start)*1000 . "\n";

preferences:
24.88 ms | 412 KiB | 5 Q