我在php中有一个2D数组,它包含日期:
$cal[$year][$month] = $event;
阵列的输出是:
Array ( [2012] => Array ( [6] => 10.92 [11] => 16.38 [8] => 1.3 [9] => 16.96 )
我想按年份和月份对数组进行排序。我该怎么做?
谢谢!
答案 0 :(得分:1)
你应该查看array_multisort函数,你可以在这里找到信息: http://php.net/manual/en/function.array-multisort.php
第二个例子就是你要找的东西
答案 1 :(得分:0)
根据您的以下数组:
$cal[$year][$month] = $event;
并考虑到$year
和$month
都是数字(如果没有,只是投射它们)。
要按照ASCENDING顺序订购年份和月份,请执行以下操作:
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
}
如果您想要混合排序,可以在两个示例中互换{{1}}和ksort()
,例如年份ASCENDING和月份DESCENDING。