1

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

如何按“c_name”升序对数组进行排序

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

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

)
4

2 回答 2

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);
于 2013-11-05T06:53:02.243 回答
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');
于 2013-11-05T06:50:56.013 回答