在辅助数组php

时间:2017-07-07 09:10:15

标签: php arrays

下面我有一个我生成的数组,我需要按第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

任何帮助表示赞赏

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]);
});