I'm trying to take a string in the format of mdY H:i and sort it in an array. My code for the sort is:
function orderDates($items) {
//Sort them. Latest one first
usort($items, function ($a, $b) {
$a = date('dmY H:i', strtotime($a));
$b = date('dmY H:i', strtotime($b));
if ($a == $b) {
return 0;
}
return ($a > $b) ? -1 : 1;
});
return $items;
}
I have a test case of:
public function test_orderDates() {
$items = ["09082020 00:00", "12072020 00:00", "14062020 00:00", "17052020 00:00", "21062020 00:00", "24052020 00:00", "26072020 00:00"];
$rv = $this->cleanupFolder->orderDates($items);
$this->assertNotNull($rv);
$this->assertEquals(7, sizeOf($rv));
$this->assertEquals("09082020 00:00", $rv[0]);
$this->assertEquals("26072020 00:00", $rv[1]);
$this->assertEquals("12072020 00:00", $rv[2]);
$this->assertEquals("21062020 00:00", $rv[3]);
$this->assertEquals("14062020 00:00", $rv[4]);
$this->assertEquals("24052020 00:00", $rv[5]);
$this->assertEquals("17052020 00:00", $rv[6]);
}
I expect it to be in that order but it just comes back in the same order. I don't understand what I've done wrong.