array_multisort 排序

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
	        )

	)
相關文章
相關標籤/搜索