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);
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
array ( 0 => array ( 'Date' => '2014-04-01', 'Units' => 4, ), 1 => array ( 'Date' => '2014-04-02', 'Units' => 14, ), )

preferences:
76.36 ms | 402 KiB | 62 Q