Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按二维数组排序_Php_Arrays - Fatal编程技术网

Php 按二维数组排序

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 (

我想根据字段年份对以下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
(
    [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);