我是 php 新手,我有 php 日期数组
[0] => 11-01-2012
[1] => 01-01-2014
[2] => 01-01-2015
[3] => 09-02-2013
[4] => 01-01-2013
我想对它进行排序:
[0] => 11-01-2012
[1] => 01-01-2013
[2] => 09-02-2013
[3] => 01-01-2014
[4] => 01-01-2015
我使用 asort
但不工作。
原文由 Mojilo 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果日期是“Mysql”格式(
Y-m-d
或Y-m-d H:i:s
),那么您可以立即对数组进行排序,无需特殊操作:如果日期被本地化或格式化(您应该避免,仅在输出之前格式化日期),您必须使用自定义排序功能,例如
usort()
,这将在比较之前将日期转换为可排序格式.将日期转换为可排序格式的最简单方法是使用
strtotime()
函数将其转换为 uninx 时间戳:在 演示 中检查结果
但是,可能存在陷阱,因为在不同的国家/地区,相同的日期格式可能意味着不同的日期。您的示例格式正是这种情况,如果日期为
['03-16-2022', '12-26-2021', '06-06-2022']
,上述函数将返回错误结果。因此,最好明确定义日期格式,如 本答案 中所述