PHP按键排序关联数组

时间:2013-11-05 06:41:33

标签: php

我有一个以下格式的关联数组:

如何按'c_name'按升序排序数组

Array
(
    [country_detials] => Array
        (
            [0] => Array
                (
                    [c_id] => AD
                    [c_name] => Andorra             
                )

            [1] => Array
                (
                    [c_id] => AE
                    [c_name] => United Arab Emirates
                )
   )

)

2 个答案:

答案 0 :(得分:2)

使用自定义比较功能。它非常快速和容易。试试这个:

function sortingFun($item1,$item2)
{
    if ($item1['c_id'] == $item2['c_id']) return 0;
    return ($item1['c_id'] < $item2['c_id']) ? 1 : -1;
}
usort($yourarray,'sortingFun');
print_r($yourarray);

答案 1 :(得分:1)

您可以使用uasort并根据需要创建比较功能, 我为你做了,你应该随意调整比较功能。

$array = array(
    array(
        'c_id' =>'AD',
        'c_name' =>'Andorra',
    ),
    array(
        'c_id' =>'AE',
        'c_name' =>'United Arab Emirates',
    ),
)


// Comparison function
function cmp($a, $b) {
    if ( strcmp ( $a['c_name'],$b['c_name'] ) ) {
        return 1;
    }

}



// Sort and print the resulting array
uasort($array, 'cmp');