在PHP中排序datetime数组后得到错误结果
我想按日期时间对数组进行降序排序。以下是示例阵列:在PHP中排序datetime数组后得到错误结果,php,arrays,sorting,datetime,Php,Arrays,Sorting,Datetime,我想按日期时间对数组进行降序排序。以下是示例阵列: <?php $var1 = "2016-12-30 12:30:59"; $var2 = "2015-11-21 11:30:59"; $var3 = "2017-01-15 10:30:59"; $a = array($var1, $var2, $var3); function compare_func($a, $b) { // CONVERT $a AND $b to DATE AND TIME using strtoti
<?php
$var1 = "2016-12-30 12:30:59";
$var2 = "2015-11-21 11:30:59";
$var3 = "2017-01-15 10:30:59";
$a = array($var1, $var2, $var3);
function compare_func($a, $b) {
// CONVERT $a AND $b to DATE AND TIME using strtotime() function
$t1 = strtotime($a[0]);
$t2 = strtotime($a[1]);
return ($t2 - $t1);
}
usort($a, "compare_func");
var_export($a);
?>
您可以直接比较字符串
function compare_func($a, $b) {
return ($a > $b);
}
您可以直接比较字符串
function compare_func($a, $b) {
return ($a > $b);
}
试试这个:
<?php
$var1 = "2016-12-30 12:30:59";
$var2 = "2015-11-21 11:30:59";
$var3 = "2017-01-15 10:30:59";
$arr = array($var1, $var2, $var3);
function date_sort($a, $b) {
return strtotime($b) - strtotime($a);
}
usort($arr, "date_sort");
print_r($arr)
?>
试试这个:
<?php
$var1 = "2016-12-30 12:30:59";
$var2 = "2015-11-21 11:30:59";
$var3 = "2017-01-15 10:30:59";
$arr = array($var1, $var2, $var3);
function date_sort($a, $b) {
return strtotime($b) - strtotime($a);
}
usort($arr, "date_sort");
print_r($arr)
?>