PHP 按键对关联数组进行排序


PHP sort assosiative array by key

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

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

Array
(
    [country_detials] => Array
        (
            [0] => Array
                (
                    [c_id] => AD
                    [c_name] => Andorra             
                )
            [1] => Array
                (
                    [c_id] => AE
                    [c_name] => United Arab Emirates
                )
   )
)

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

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

你可以使用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');