3v4l.org

run code in 500+ PHP versions simultaneously
<?php $movements = [ ['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'], ]; var_export( array_values( array_filter( array_reduce( $movements, function($carry, $move) { $carry[$move['id']] ??= $move; $carry[$move['id']]['newDate'] = $move['newDate']; return $carry; } ), fn($move) => $move['oldDate'] != $move['newDate'] ) ) );

preferences:
42.19 ms | 992 KiB | 5 Q