$moves = [
['id' => 90415, 'oldDate' => '2024-08-27', 'newDate' => '2024-08-28'],
['id' => 90415, 'oldDate' => '2024-08-28', 'newDate' => '2024-08-27'],
['id' => 90409, 'oldDate' => '2024-08-21', 'newDate' => '2024-08-22'],
['id' => 90409, 'oldDate' => '2024-08-22', 'newDate' => '2024-08-23'],
];
$data = [];
foreach($moves as $move)
{
$id = $move['id'];
if(isset($data[$id]))
{
// Если уже установлен такой ID, меняем значение newDate
$data[$id]['newDate'] = $move['newDate'];
}
else
{
// Новый ID, заполняем элемент
$data[$id] = $move;
}
}
// Сохраняем значения только с разными значениям oldDate и newDate
$result = array_filter($data, fn($move) => $move['oldDate'] != $move['newDate']);
// Удаление ключей массива
$result = array_values($result);
var_export($result);