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