我已经阅读了以下内容,其中显示了当密钥相同时如何按子值对数组进行排序。 PHP Sort Array By SubArray Value
我需要以下内容:
function cmp_by_optionNumber($a, $b) {
return $a["$key"] - $b["$key"];
}
...
usort($array, "cmp_by_optionNumber");
但是,每当密钥不同时,我需要按值排序吗?最好的方法是什么?
Array
(
[Example1] => Array
(
[RabbitRabbit] => 91
)
[Example2] => Array
(
[DogDog] => 176
)
[Example3] => Array
(
[DuckDuck] => 206
)
)
我希望排序为:
Array
(
[Example3] => Array
(
[DuckDuck] => 206
)
[Example2] => Array
(
[DogDog] => 176
)
[Example1] => Array
(
[RabbitRabbit] => 91
)
)
EDIT!使用以下代码擦除父键名称!
return array_shift(array_values($b)) - array_shift(array_values($a));
Array
(
[0] => Array
(
[DuckDuck] => 206
)
[1] => Array
(
[DogDog] => 176
)
[2] => Array
(
[RabbitRabbit] => 91
)
答案 0 :(得分:1)
您可以使用
获取数组的第一个元素$first = array_shift(array_values($array));
所以你会得到这样的东西:
function cmp_by_optionNumber($a, $b) {
return array_shift(array_values($a)) - array_shift(array_values($b));
}
答案 1 :(得分:0)