1

重複の可能性:
usort() および sort() 関数を使用して、mktime() によって変換されたタイムスタンプで日付の配列をソートします

mktime() を使用せずに、sort() と usort() のみを使用して日付の配列をソートしようとしています。月、日、年を比較しようとしていますが、正しい結果が得られず、さらに多くの警告が表示されます。どんな助けにも感謝します。

$dates = array ('10-10-2003', '2-17-2002', '2-16-2003','1-01-2005', '10-10-2004' );
function toTime($date) {

return sort ($date, SORT_STRING);
}

function sortByTime($a, $b) {
$a = toTime($a);
$b = toTime($b);
if($a == $b) {
    return 0;
}
return $a < $b ? -1 : 1 ;
}

usort($dates, 'sortByTime');
print_r($dates);

どうもありがとう。

4

1 に答える 1

1

uksortを使用して、コールバックでキーでソートします

コールバックでは、日付をタイムスタンプに単純に解析し、単純な比較を使用します

須藤コード:

function cmp($a, $b)
{
    global $array;
    return strcmp($array[$a]['db'], $array[$b]['db']);
}

uksort($array, 'cmp');
于 2012-11-18T20:16:39.617 に答える