我有一个以下格式的关联数组:
如何按'c_name'按升序排序数组
Array
(
[country_detials] => Array
(
[0] => Array
(
[c_id] => AD
[c_name] => Andorra
)
[1] => Array
(
[c_id] => AE
[c_name] => United Arab Emirates
)
)
)
答案 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');