3v4l.org

run code in 300+ PHP versions simultaneously
<?php $users = [ [ 'name' => 'Tim', 'bday' => 'September 13', ], [ 'name' => 'Scott', 'bday' => 'November 3', ], [ 'name' => 'Bob', 'bday' => 'October 2', ], ]; $now = new DateTime(); usort($users, function($a, $b) use ($now) { $aDate = new DateTime($a['bday']); if ($aDate < $now) { $aDate->add(new DateInterval('P1Y')); } $bDate = new DateTime($b['bday']); if ($bDate < $now) { $bDate->add(new DateInterval('P1Y')); } return $aDate > $bDate; }); print_r($users);

preferences:
31.93 ms | 405 KiB | 5 Q