3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ 124 => [ 'releaseDate' => '2020-07-01 00:00:00', 'isNewest' => true, ], 110 => [ 'releaseDate' => '2020-08-15 00:00:00', 'isNewest' => false, ], 129 => [ 'releaseDate' => '2020-08-15 00:00:00', 'isNewest' => true, ], 128 => [ 'releaseDate' => '2020-08-15 00:00:00', 'isNewest' => false, ], 130 => [ 'releaseDate' => '2020-08-15 00:00:00', 'isNewest' => false, ], 131 => [ 'releaseDate' => '2020-08-15 00:00:00', 'isNewest' => false, ], 132 => [ 'releaseDate' => '2020-08-15 00:00:00', 'isNewest' => false, ], 123 => [ 'releaseDate' => '2020-07-01 00:00:00', 'isNewest' => false, ], 125 => [ 'releaseDate' => '2020-07-01 00:00:00', 'isNewest' => false, ], 127 => [ 'releaseDate' => '2020-07-01 00:00:00', 'isNewest' => false, ], ]; uasort($array, function ($a, $b) { // sort true values first if ($a['isNewest'] && !$b['isNewest']) return -1; elseif (!$a['isNewest'] && $b['isNewest']) return 1; // boolean values are equal, so sort by date. // Since dates are in Y-m-d H:i:s format, we can sort as strings else return strcmp($a['releaseDate'], $b['releaseDate']); }); print_r($array);

preferences:
26.3 ms | 406 KiB | 5 Q