PHP按多个第三维值排序数组

时间:2017-05-05 16:42:39

标签: php arrays sorting

我试图找到一种基于多个第三级属性对此数组进行排序的方法。

所以,我想首先按 latency 排序顶级数组,然后按 load1minavg 排序,然后按的 packetloss 即可。

任何人都可以向我解释我将如何做到这一点?我已经查看了 usort 功能,似乎无法按照我需要的方式运行。我知道我觉得可以在这里使用的 array_multisort 功能,但我不能为我的生活找出如何有效地使用它。

非常感谢任何帮助。谢谢!

我想排序的数组示例(数组是动态的,值可能会改变

$servers = [
    [
        'bnd' => [
            'comp' => 'ifo',
            'rate' => 5
        ],

        'stat' => [
            'load1minavg'  => 15,
            'latency'      => 12,
            'packetloss'   => 8
        ]
    ],

    [
        'bnd' => [
            'comp' => 'lto',
            'rate' => 18
        ],

        'stat' => [
            'load1minavg'  => 20,
            'latency'      => 96,
            'packetloss'   => 11
        ]
    ],

    [
        'bnd' => [
            'comp' => 'lto',
            'rate' => 13
        ],

        'stat' => [
            'load1minavg'  => 5,
            'latency'      => 18,
            'packetloss'   => 31
        ]
    ]
];

0 个答案:

没有答案