下面我有一个我生成的数组,我需要按第3 [2]个值排序。
阵列:
{
aknox: {
0: "28",
1: "39",
2: "71.79"
},
lphillips: {
0: "81",
1: "106",
2: "76.42"
}
}
预期结果:
{
lphillips: {
0: "81",
1: "106",
2: "76.42"
},
aknox: {
0: "28",
1: "39",
2: "71.79"
}
}
我尝试了以下内容:
usort($ccstats, function($a, $b) {
return strcmp($a[2], $b[2]);
});
$ccstats
是阵列。
当我尝试按降序排列数组键时,这会以升序返回数组,即" akonx"和" lphillips"迷路了,变成了0和1
任何帮助表示赞赏
答案 0 :(得分:1)
要保留密钥,请使用uasort
:
uasort($ccstats, function($a, $b) {
return strcmp($a[2], $b[2]);
});
如果您说您有ascending
订单但需要descending
,那么只需在strcmp
中交换参数
uasort($ccstats, function($a, $b) {
return strcmp($b[2], $a[2]);
});