<?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