[英]PHP - sort array by month and year
这是我的数组:
$ar = array(
'Jan-2016' => 1,
'Feb-2016' => 2,
'Mar-2016' => 3,
'Apr-2016' => 4,
'May-2016' => 4,
'Jun-2016' => 4,
'Jul-2016' => 4,
'Aug-2016' => 4,
'Sep-2016' => 4,
'Oct-2016' => 4,
'Nov-2016' => 4,
'Dec-2016' => 4,
'Jan-2015' => 1,
'Mar-2015' => 1);
我想按月份和年份对该数组进行排序。 我试过下面的代码:
ksort($ar);
但我无法获得预期的结果。
我需要如下数组的结果:
$ar = array(
'Jan-2015' => 1,
'Mar-2015' => 1,
'Jan-2016' => 1,
'Feb-2016' => 2,
'Mar-2016' => 3,
'Apr-2016' => 4,
'May-2016' => 4,
'Jun-2016' => 4,
'Jul-2016' => 4,
'Aug-2016' => 4,
'Sep-2016' => 4,
'Oct-2016' => 4,
'Nov-2016' => 4,
'Dec-2016' => 4);
uksort
是使用的正确函数:
uksort($ar, function($a1, $a2) {
$time1 = strtotime($a1);
$time2 = strtotime($a2);
return $time1 - $time2;
});
print_r($ar);
补充:排序顺序
$sortOrder = true; // ASC
$sortOrder = false; // DESC
uksort($array, function($a, $b) use($sortOrder) {
$timeA = strtotime($a);
$timeB = strtotime($b);
return $sortOrder ? ($timeA - $timeB) : ($timeB - $timeA);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.