0

我在 php 中有一个包含日期的二维数组:

$cal[$year][$month] = $event; 

数组的输出是:

Array ( [2012] => Array ( [6] => 10.92 [11] => 16.38 [8] => 1.3 [9] => 16.96 ) 

我想按年和月对数组进行排序。我该怎么做呢?

谢谢!

4

2 回答 2

1

你应该看看 array_multisort 函数,你可以在这里找到信息:http: //php.net/manual/en/function.array-multisort.php

第二个例子是你要找的

于 2012-09-12T15:55:48.180 回答
0

根据您的以下数组:

$cal[$year][$month] = $event;

并考虑到$yearand$month都是数字的(如果不是,只需转换它们)。

要按升序排序年份和月份,请执行以下操作:

ksort($cal); //sort years
foreach($cal as &$arr) {
   ksort($arr); //sort months
}

如果您希望它按 DESCENDING 顺序排列,请执行以下操作:

krsort($cal); //sort years
foreach($cal as &$arr) {
   krsort($arr); //sort months
}

如果你想要一个混合排序,你可以在这两个例子中互换ksort()和,比如年升序和月降序。krsort()

于 2012-09-12T16:30:46.217 回答