Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Multidimensional Array_Sorting - Fatal编程技术网

Php 排序二维数组时保留数组键

Php 排序二维数组时保留数组键,php,arrays,multidimensional-array,sorting,Php,Arrays,Multidimensional Array,Sorting,这是我的2D阵列: $a = array( '6' => array(10, 5), '5' => array(20, 7), '40' => array(15, 9) ); 我可以简单地用array\u multisort进行排序: foreach ($a as $k => $r) { $keys[$k] = $r[1]; } array_multisort($keys, SORT_DESC, $a); 但它会清除键(“6”、“5”

这是我的2D阵列:

$a = array(
    '6' => array(10, 5),
    '5' => array(20, 7),
    '40' => array(15, 9)
);
我可以简单地用
array\u multisort
进行排序:

foreach ($a as $k => $r) {
    $keys[$k] = $r[1]; 
}
array_multisort($keys, SORT_DESC, $a);
但它会清除键(“6”、“5”、“40”):

array\u multisort
是否有保留数组键的参数?

更简单的解决方案是使用:


谢谢但是如何更改排序方向?切换
$a
$b
参数。是否要对键进行排序?比如40,6,5@W.Kristianto:否,我要对数组进行排序。但是我也想保留这些键,不想用数组数字键(从0开始)替换它们
Array
(
    [0] => Array
        (
            [0] => 15
            [1] => 9
        )

    [1] => Array
        (
            [0] => 20
            [1] => 7
        )

    [2] => Array
        (
            [0] => 10
            [1] => 5
        )

)
uasort($a, function ($a, $b) { return $a[1] - $b[1]; });