Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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 - Fatal编程技术网

Php 对多维数组排序并保留其键

Php 对多维数组排序并保留其键,php,Php,我目前使用带有自定义函数的usort对多维数组进行排序: usort($arr, function($a, $b) { return $a['count'] - $b['count']; }); 这将对数组进行良好排序,但会丢失关键信息。给定阵列: Array ( [3] => Array ( [foo] => bar [count] => 11 ) [7] =>

我目前使用带有自定义函数的usort对多维数组进行排序:

usort($arr, function($a, $b) {
    return $a['count'] - $b['count'];
});
这将对数组进行良好排序,但会丢失关键信息。给定阵列:

Array
(
    [3] => Array
        (
            [foo] => bar
            [count] => 11
        )

    [7] => Array
        (
            [foo] => baz
            [count] => 1
        )
)
usort
将产生:

Array
(
    [0] => Array
        (
            [foo] => baz
            [count] => 1
        )

    [1] => Array
        (
            [foo] => bar
            [count] => 11
        )
)

我想按计数排序,但保留键
[3]
[7]
。不幸的是,
usort
会将按键设置为
[0]
[1]
使用,它会保留原始按键

使用,它保留原始键

另请参见:获取排序函数列表,哪些保留键。另请参见:获取排序函数列表,哪些保留键。那不是真正的排序。那不是真正的排序。