1,array_multisort 對多個數組進行排序 php
說明數組
1,對兩個數組進行排序,則第一個數組和第二個數組元素個數需一致。spa
2,以第一個數組排序規則爲準,到第二個數組中找對應位置元素,將第二個數組元素放到和第一個數組元素對應的位置。code
3,若是第一個數組中有元素相同,則按照第二排序規則,對第二個數組進行排序排序
$arr1 = array(1,55,1,10,3,21); $arr2 = array(1,10,2,355,20,100); array_multisort($arr1,SORT_ASC,SORT_NUMERIC,$arr2,SORT_DESC,SORT_NUMERIC); 排序結果: Array ( [0] => 1 [1] => 1 [2] => 3 [3] => 10 [4] => 21 [5] => 55 ) Array ( [0] => 2 [1] => 1 [2] => 20 [3] => 355 [4] => 100 [5] => 10 ) )
2,array_multisort() 對多維數組,按照多個條件進行排序it
$arr = array( array('num'=>1,'parise_num'=>22), array('num'=>2,'parise_num'=>11), array('num'=>3,'parise_num'=>11) ); $num = array(); $parise_num = array(); foreach($arr as $k=>$v) { $num[$k] = $v['num']; $parise_num[$k] = $v['parise_num']; } array_multisort($num,SORT_DESC,$parise_num,SORT_DESC,$arr); 結果: Array ( [0] => Array ( [num] => 3 [parise_num] => 11 ) [1] => Array ( [num] => 2 [parise_num] => 11 ) [2] => Array ( [num] => 1 [parise_num] => 22 ) )