在PHP中对数组进行自定义排序

时间:2018-08-14 01:07:37

标签: php arrays sorting

我有一个简单的数组,我想按以下方式排序:关键,主要,中等,次要

Array
    (
        [Major] => 9
        [Critical] => 5
        [Moderate] => 6
        [Minor] => 5
    )

我不确定如何根据PHP中的键进行自定义排序

1 个答案:

答案 0 :(得分:0)

类似的东西应该对您有用。

$arr = ['Major' => 9, 'Critical' => 5, 'Moderate' => 6, 'Minor' => 3];
function cmp($a, $b) {
    $order = ['Critical' => 0, 'Major' => 1, 'Moderate' => 2, 'Minor' => 3];
    return $order[$a] - $order[$b];
}

uksort($arr, "cmp");

此处为实时示例-http://sandbox.onlinephpfunctions.com/code/ce8991112a01e020014520cafaf59d38da32c2ec