$dates1[] = [
[
'date' => "01.08.2023",
'qty' => 100
],
[
'date' => "02.08.2023",
'qty' => 15,
],
];
$dates1[] = [
[
'date' => "01.08.2023",
'qty' => 0
],
[
'date' => "03.08.2023",
'qty' => 25,
],
];
$result = [
[
'date' => "01.08.2023",
'qty' => 100
],
[
'date' => "02.08.2023",
'qty' => 15,
],
[
'date' => "03.08.2023",
'qty' => 25,
],
];
у меня решение получилось таким:
один внешний цикл. перебирает один массив. и внутри цикла используется второй массив преобразованный в коллекцию. и при помощи функции filter ищется элемент с таким же полем "date".
если находим элемент, то объединяем элементы, то в третий массив добавляем этот элемент суммируя qty.
а если не находим, то записываем элемент внешнего цикла.