Php 对多维数组排序并保留其键
我目前使用带有自定义函数的usort对多维数组进行排序:Php 对多维数组排序并保留其键,php,Php,我目前使用带有自定义函数的usort对多维数组进行排序: usort($arr, function($a, $b) { return $a['count'] - $b['count']; }); 这将对数组进行良好排序,但会丢失关键信息。给定阵列: Array ( [3] => Array ( [foo] => bar [count] => 11 ) [7] =>
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]
使用,它会保留原始按键使用,它保留原始键另请参见:获取排序函数列表,哪些保留键。另请参见:获取排序函数列表,哪些保留键。那不是真正的排序。那不是真正的排序。