Hiya,
I changed your date_file_sort() function so it echos a few things
function date_file_sort($a, $b)
{
echo "$a - $b - ";
$a = strtotime($a);
$b = strtotime($b);
echo "$a - $b - ".date("d-M-Y", $a)." - ".date("d-M-Y", $b)."\n";
return strcmp($a, $b);
}
"interesting" results....
Here's an alterative to this function that works (might not be the best way
though??)
function date_file_sort($a, $b)
{
list($x, $y, $z) = explode("-", $a); $a = "$z-$y-$x";
list($x, $y, $z) = explode("-", $b); $b = "$z-$y-$x";
return -strcmp($a, $b);
}
HTH
Martin
>
> I have a bunch of dates in the form: MM-DD-YYYY in an array
> and I want to
> sort them and display them in descending order. I have tried
> the usort()
> function below and it's not working. Can anyone help me out here?
>
> $menu_item = array();
> $menu_item[] = "12-04-2003";
> $menu_item[] = "11-19-2003";
> $menu_item[] = "01-04-2004";
> $menu_item[] = "12-24-2003";
> $menu_item[] = "08-13-1982";
>
> // sorting function
> function date_file_sort($a, $b)
> {
> $a = strtotime($a);
> $b = strtotime($b);
> return strcmp($a, $b);
> }
>
> usort($menu_item, 'date_file_sort');
>
> // output results
> for($x = 0; $x < count($menu_item); $x++)
> {
> echo $menu_item[$x]."<br>";
> }
>
>
> Here are the the results I get:
> 01-04-2004
> 08-13-1982
> 12-04-2003
> 11-19-2003
> 12-24-2003
> Anyone know why these results seem totally random? Please help.
>
> Thanks,
>
> Matt
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php