📅  最后修改于: 2023-12-03 15:39:48.757000             🧑  作者: Mango
在许多应用程序中,需要对日期进行排序。在PHP中,我们可以使用以下方法将日期排序:
该方法允许我们使用我们自己的函数来排序数组。我们可以使用usort函数来指定我们自己的比较函数,以便在日期上进行排序。以下是一个示例程序:
$datesArray = array('2014-10-01', '2014-12-01', '2013-11-01', '2012-10-01');
usort($datesArray, function($a, $b) {
return strtotime($a) - strtotime($b);
});
print_r($datesArray);
输出:
Array
(
[0] => 2012-10-01
[1] => 2013-11-01
[2] => 2014-10-01
[3] => 2014-12-01
)
我们使用usort函数对数组进行排序,传递一个匿名函数来比较两个日期。该函数使用strtotime函数将日期转换为时间戳,以便我们可以对它们进行比较。
另一种方法是使用PHP的array_multisort函数。该函数可以按照一些数字或字符串键值对数组进行排序,例如日期。
以下是使用array_multisort函数的示例程序:
$datesArray = array('2014-10-01', '2014-12-01', '2013-11-01', '2012-10-01');
foreach ($datesArray as $date) {
$timestampArray[] = strtotime($date);
}
array_multisort($timestampArray, SORT_ASC, $datesArray);
print_r($datesArray);
输出:
Array
(
[0] => 2012-10-01
[1] => 2013-11-01
[2] => 2014-10-01
[3] => 2014-12-01
)
我们首先对每个日期使用strtotime函数创建一个时间戳数组。我们然后使用array_multisort函数按升序对时间戳数组进行排序,然后按排序顺序对日期数组进行排序。
以上是使用PHP对日期排序数组的两种方法。您可以选择根据您的项目和数据选择其中之一。