<?php
$array = [
[
121 => [ "number" => 121, "name" => "Some Name 1", "value" => "2.222" ],
116 => [ "number" => 116, "name" => "Some Name 2", "value" => "1.111" ],
1 => [ "number" => 1, "name" => "Some Name 3", "value" => "1.232" ]
],
[
121 => [ "number" => 121, "name" => "Some Name 1", "value" => "1.111" ],
116 => [ "number" => 116, "name" => "Some Name 2", "value" => "2.222" ],
1 => [ "number" => 1, "name" => "Some Name 3", "value" => "3.111" ]
]
];
$result = [];
foreach ($array as $group) {
foreach ($group as $key => $row) {
if (!isset($result[$key])) {
$result[$key] = $row;
} else {
$result[$key]['value'] += $row['value'];
}
}
}
var_export($result);
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- array (
121 =>
array (
'number' => 121,
'name' => 'Some Name 1',
'value' => 3.333,
),
116 =>
array (
'number' => 116,
'name' => 'Some Name 2',
'value' => 3.333,
),
1 =>
array (
'number' => 1,
'name' => 'Some Name 3',
'value' => 4.343,
),
)
preferences:
85.08 ms | 402 KiB | 117 Q