假设我们有一个像这样的数组
array(2) {
[2012]=>
array(2) {
[0]=>
array(2) {
["file"]=>
string(3) "aaa"
["mtime"]=>
int(1347534106)
}
[1]=>
array(2) {
["file"]=>
string(3) "bbb"
["mtime"]=>
int(1346293592)
}
}
[2011]=>
array(2) {
[0]=>
array(2) {
["file"]=>
string(3) "ccc"
["mtime"]=>
int(1316753224)
}
[1]=>
array(2) {
["file"]=>
string(3) "ddd"
["mtime"]=>
int(1318671936)
}
}
}
我希望这个数组按第一个索引(2012,2011 [,2010,...])降序排序,每个子数组(根数组的每个值)按mtime值降序排序,但我无法得到如何应用array_multisort ()这个。我可以将第一个键作为'2012'传递,然后它将作为关联数组的键传递,但是如何按mtime排序呢?
答案 0 :(得分:0)
鉴于你的顶层数组是$array
,你可以这样做:
krsort($array);
foreach ($array as &$arr) {
uasort($arr, 'cmp');
}
function cmp($a, $b) {
return $b['mtime'] - $a['mtime'];
}
var_dump($array); //to check results
应该做你想做的事。
更新:为krsort更改ksort以获得OP所需的下降年份。