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