我有这个数组,我需要对它进行排序,首先是“key_1”和(如果“key_1”中有更多类似的值),请按“key_2”排序 ......我怎么能这样做,任何想法?
谢谢!
$my_array[0]['key_1'] = 2;
$my_array[0]['key_2'] = 300;
$my_array[1]['key_1'] = 2;
$my_array[1]['key_2'] = 100;
$my_array[2]['key_1'] = 1;
$my_array[2]['key_2'] = 100;
答案 0 :(得分:1)
这是一个简单的解决方案:
function my_sort($a, $b) {
if ($a['key_1']==$b['key_1']) {
if ($a['key_2']==$b['key_2']) {
return 0;
} else {
return ($a['key_2']>$b['key_2']) ? 1 : -1;
}
} else {
return ($a['key_1']>$b['key_1']) ? 1 : -1;
}
}
usort($my_array, 'my_sort');