使用php对特定值排序数组

时间:2017-03-20 09:01:24

标签: 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
    )

)

我想在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
    )

)

4 个答案:

答案 0 :(得分:2)

<?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);

?>

答案 1 :(得分:1)

试试这个,

function compare($a, $b)
{
   return ($a['TOTCOM_METIER']< $b['TOTCOM_METIER']);
}
usort($your_array, "compare");

以下是usort个文档,其中声明使用用户定义的比较函数按值对数组进行排序

答案 2 :(得分:0)

你如何获得这些数据?如果从db system中选择,则可以在select sql中使用order by TOTCOM_METIER desc

答案 3 :(得分:0)

通过这个你可以传递你想要的订单,&#34; desc&#34;或&#34; asc&#34;

u64