我看了很多(像here the array-sort-comparisons),并试图找出如何排序(或反转)我的多元素数组。但徒劳无功。
我的数组中有三个元素,并希望按“年”ASC排序:
array(52) {
[0]=>
array(3) {
["id"]=>
string(2) "SI"
["year"]=>
string(4) "2012"
["value"]=>
string(7) "3711339"
}
[1]=>
array(3) {
["id"]=>
string(2) "SI"
["year"]=>
string(4) "2011"
["value"]=>
string(7) "3810626"
}
[2]=>
array(3) {
["id"]=>
string(2) "SI"
["year"]=>
string(4) "2010"
["value"]=>
string(7) "3714946"
}
怎么可能?不知何故,人们需要能够指定三个元素中的哪一个是作为排序基础的“关键”。
感谢任何提示!
答案 0 :(得分:3)
将usort()
与自定义比较功能结合使用:
usort($arr, function (array $a, array $b) {
return $a['year'] - $b['year'];
});
答案 1 :(得分:3)
PHP> = 5.5.0
array_multisort(array_column($array, 'year'), SORT_ASC, $array);
答案 2 :(得分:-1)
如你所说,倒车将适用于你的例子。 你可以做到相当简单
$arr = array(2012, 2011, 2010);
$reversed_arr = array_reverse($arr);