3v4l.org

run code in 300+ PHP versions simultaneously
<?php // First Array $a = [ [ "sales" => [ ["Date" => "2014-04-01", "Units" => 1], ["Date" => "2014-04-02", "Units" => 7] ] ] ]; $b = [ [ "sales" => [ ["Date" => "2014-04-01", "Units" => 3], ["Date" => "2014-04-02", "Units" => 2] ] ] ]; $c = [ [ "sales" => [ ["Date" => "2014-04-01", "Units" => 0], ["Date" => "2014-04-02", "Units" => 5] ] ] ]; $result = []; foreach (array_merge($a[0]['sales'], $b[0]['sales'], $c[0]['sales']) as $row) { if (!isset($ref[$row['Date']])) { $ref[$row['Date']] = $row; $result[] =& $ref[$row['Date']]; } else { $ref[$row['Date']]['Units'] += $row['Units']; } } var_export($result);

preferences:
26.09 ms | 405 KiB | 5 Q