一尘不染

PHP重新排列月份名称数组

php

我有一个当前订购的月份名称数组,例如(“ April”,“ August”,“
February”)等。我想对该列表进行重新排序,使其处于正常的月份顺序,例如(“ January”,“二月三月”)

该数组是从SHOW TABLES sql查询中填充的,不幸的是,SHOW TABLES没有ORDER
BY参数,因此我认为最好的选择是将它们添加到数组中并重新排序该数组以获取所需的内容。


阅读 282

收藏
2020-05-29

共1个答案

一尘不染

将月份转换为数值。然后使用以下命令对数组进行数字排序sort()

您可以使用以下问题:将月份从名称转换为数字

@Matthew的答案似乎运作良好:

$date = date_parse('July');;
echo $date["month"];

工作方案

$months = array("April", "August", "February");

usort($months, "compare_months");
var_dump($months);

function compare_months($a, $b) {
    $monthA = date_parse($a);
    $monthB = date_parse($b);

    return $monthA["month"] - $monthB["month"];
}
2020-05-29