3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array1 = [ "2018" => [ "JAN" => 100, "FEB" => 200, "MAR" => 300, "APR" => 400 ] ]; $array2 = [ "2018" => [ "FEB" => 200, "MAR" => 300, "APR" => 400, "MAY" => 200, ] ]; $array3 = [ "2018" => [ "MAY" => 200, "JUN" => 100, "JUL" => 300, "AUG" => 400, ] ]; $new = array_merge_recursive([$array1], [$array2], [$array3]); foreach($new as $arr){ foreach($arr as $year => $sub){ foreach($sub as $month => $val){ if(!isset($res[$year][$month])) $res[$year][$month] =0; $res[$year][$month] += $val; } } } var_dump($res);

preferences:
26.25 ms | 405 KiB | 5 Q