首页  >  文章  >  后端开发  >  如何在 PHP 中对日期数组进行升序排序?

如何在 PHP 中对日期数组进行升序排序?

Susan Sarandon
Susan Sarandon原创
2024-10-21 20:30:03417浏览

How to Sort Date Arrays Ascendingly in PHP?

在 PHP 中对日期数组进行排序

PHP 提供了多种对数组(包括日期数组)进行排序的方法。本文将演示如何根据日期值对 PHP 日期数组进行排序。

问题:

考虑以下 PHP 日期数组:

<code class="php">[0] => 11-01-2012
[1] => 01-01-2014
[2] => 01-01-2015
[3] => 09-02-2013
[4] => 01-01-2013</code>

目标是按日期升序对数组进行排序,得到以下排序数组:

<code class="php">[0] => 11-01-2012
[1] => 01-01-2013
[2] => 09-02-2013
[3] => 01-01-2014
[4] => 01-01-2015</code>

解决方案:

如果数组以“Y-m-d”或“Y-m-d H:i:s”格式存储,您可以直接使用 sort() 对数组进行排序:

<code class="php">$arr = ["2019-11-11", "2019-10-10","2019-11-11", "2019-09-08","2019-05-11"];
sort($arr);</code>

但是,如果日期格式已本地化或未本地化如果是可排序的格式,则需要使用自定义排序函数,例如 usort()。该函数比较数组的两个元素,将它们转换为可排序的格式,并返回一个指示排序顺序的值:

<code class="php">$arr = ['11/01/2012', '03/16/2022', '12/26/2021', '01/01/2014', '09/02/2013'];
usort($arr, function ($a, $b) {
    return strtotime($a) - strtotime($b);
});</code>

以上是如何在 PHP 中对日期数组进行升序排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn