In PHP, I have an object array and I need to sort it starting with the most recent date from today and going out. The dates are stored as strings with only month and day.
I can use usort with function like below to get it sorted chronologically but I'm struggling with how to get it to sort when compared against today's date.
function date_sort($a, $b) {
return strtotime($a->bday) - strtotime($b->bday);
}
usort($users, "date_sort");
The original array looks like this:
$users = array(
[0] => stdClass Object
(
[name] => Tim
[bday] => September 13
)
[1] => stdClass Object
(
[name] => Scott
[bday] => November 8
)
[2] => stdClass Object
(
[name] => Bob
[bday] => October 13
)
[3] => stdClass Object
(
[name] => Dan
[bday] => February 2
)
[4] => stdClass Object
(
[name] => Jack
[bday] => July 11
)
)
If today is October 8, I need the sorted array to look like:
$users = array(
[0] => stdClass Object
(
[name] => Bob
[bday] => October 13
)
[1] => stdClass Object
(
[name] => Scott
[bday] => November 8
)
[2] => stdClass Object
(
[name] => Dan
[bday] => February 2
)
[3] => stdClass Object
(
[name] => Jack
[bday] => July 11
)
[4] => stdClass Object
(
[name] => Tim
[bday] => September 13
)
)