2012-04-06 39 views
0

我有這個數組,我需要首先按「key_1」和(如果「key_1」中有更多類似的值)按「key_2」 排序。我怎麼能這樣做,有什麼想法?PHP按多個標準排序多維數組

謝謝!

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

回答

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'); 
+0

做工精細,非常感謝Skrol29! – 2012-04-06 22:30:08