<?php
$array_a = [
['A', 0, 1047],
['B', 0, 279],
['C', 0, 68],
['D', 0, 4],
];
$array_b = [
['A', 76, 0],
['B', 170, 0],
['E', 287, 0],
['C', 15, 0],
['D', 210, 0],
];
foreach (array_merge($array_a, $array_b) as $row) {
if (!isset($result[$row[0]])) {
$result[$row[0]] = $row;
} else {
$result[$row[0]][1] += $row[1];
$result[$row[0]][2] += $row[2];
}
}
var_export(array_values($result));
- Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- array (
0 =>
array (
0 => 'A',
1 => 76,
2 => 1047,
),
1 =>
array (
0 => 'B',
1 => 170,
2 => 279,
),
2 =>
array (
0 => 'C',
1 => 15,
2 => 68,
),
3 =>
array (
0 => 'D',
1 => 210,
2 => 4,
),
4 =>
array (
0 => 'E',
1 => 287,
2 => 0,
),
)
preferences:
135.85 ms | 408 KiB | 5 Q