使用php对特定值的数组进行排序

Vin*_*nce 4 php arrays sorting

我有一个包含特定值的数组,我想根据其中的特定值对数组进行排序。例如,TOTCOM_METIER DESC。前任 :

Array
(
[0] => Array
    (
        [TOTCOM_METIER] => 1
        [metier] => Traiteur
    )

[1] => Array
    (
        [TOTCOM_METIER] => 4
        [metier] => Restauration traditionnelle
    )

[2] => Array
    (
        [TOTCOM_METIER] => 2
        [metier] => Coiffure
    )

)
Run Code Online (Sandbox Code Playgroud)

我想在 TOTCOM_METIER DESC 上对其进行排序以获得以下结果:

Array
(
[0] => Array
    (
        [TOTCOM_METIER] => 4
        [metier] => Restauration traditionnelle
    )

[1] => Array
    (
        [TOTCOM_METIER] => 2
        [metier] => Coiffure
    )

[2] => Array
    (
        [TOTCOM_METIER] => 1
        [metier] => Traiteur
    )

)
Run Code Online (Sandbox Code Playgroud)

ewc*_*wcz 8

<?php

$arr = Array(
    0 => Array
        (
            'TOTCOM_METIER' => 1,
            'metier' => 'Traiteur'
        ),
    1 => Array
        (
            'TOTCOM_METIER' => 4,
            'metier' => 'Restauration traditionnelle'
        ),
    2 => Array
        (
            'TOTCOM_METIER' => 2,
            'metier' => 'Coiffure'
        )
);

//define custom "comparator" (in reverse order)
function cmp($a, $b){
    $key = 'TOTCOM_METIER';
    if($a[$key] < $b[$key]){
        return 1;
    }else if($a[$key] > $b[$key]){
        return -1;
    }
    return 0;
}
usort($arr, "cmp");

print_r($arr);

?>
Run Code Online (Sandbox Code Playgroud)