Нечто подобное должно сработать
$newArray = [];
foreach ($firstArray['stats'] as $entry) {
if (isset($newArray[sprintf('%d-%d', $entry['year'], $entry['week'])])) {
$newArray[sprintf('%d-%d', $entry['year'], $entry['week'])]['sum'] += $entry['sum'];
} else {
$newArray[sprintf('%d-%d', $entry['year'], $entry['week'])] = $entry;
}
}
EDIT
$newArray = [];
foreach ($stats['stats'] as $entry) {
if (isset($newArray[sprintf('%d-%d', $entry['year'], $entry['week'])])) {
$newArray[sprintf('%d-%d', $entry['year'], $entry['week'])]['sum'] +=
$entry['sum'];
} else {
$newArray[sprintf('%d-%d', $entry['year'], $entry['week'])] = $entry;
}
unset($newArray[sprintf('%d-%d', $entry['year'], $entry['week'])]['country']);
}
$stats['stats'] = array_values($newArray);
@ Рок Д. Спасибо за это ... Я мог бы адаптировать твой пример, чтобы он идеально соответствовал моим потребностям.