Php 按二维数组排序
我想根据字段年份对以下2D数组进行排序Php 按二维数组排序,php,arrays,Php,Arrays,我想根据字段年份对以下2D数组进行排序 Array ( [0] => Array ( [from] => 44.91 [to] => 53.56 [next] => 108.88 [year] => 2011 ), [1] => Array ( [from] => 44.44 [next] => 53.16 [year] => 2010 ), [2] => Array (
Array
(
[0] => Array
(
[from] => 44.91
[to] => 53.56
[next] => 108.88
[year] => 2011
),
[1] => Array
(
[from] => 44.44
[next] => 53.16
[year] => 2010
),
[2] => Array
(
[from] => 42.83
[next] => 51.36
[year] => 2012
)
);
因此,预期结果将是:
Array
(
[1] => Array
(
[from] => 44.44
[next] => 53.16
[year] => 2010
),
[0] => Array
(
[from] => 44.91
[to] => 53.56
[next] => 108.88
[year] => 2011
),
[2] => Array
(
[from] => 42.83
[next] => 51.36
[year] => 2012
)
);
你试过使用吗
功能cmp\u年($a,$b){
如果($a['year']=$b['year'])返回0;
回报($a['year']<$b['year'])?-1:1;
}
uasort($your_array,'cmp_year');
您可以使用
如何对嵌套数组执行相同的操作,并且要排序的值位于该嵌套数组中—这不起作用
function cmp_year($a, $b) {
if($a['year'] == $b['year']) return 0;
return ($a['year'] < $b['year']) ? -1 : 1;
}
uasort($your_array, 'cmp_year');
foreach ($arr as $k => $v) {
$years[$k] = $v['year'];
}
array_multisort($years, SORT_DESC, $arr);