array_multisort 排序

1,array_multisort 对多个数组进行排序   

说明

1,对两个数组进行排序,则第一个数组和第二个数组元素个数需一致。

2,以第一个数组排序规则为准,到第二个数组中找对应位置元素,将第二个数组元素放到和第一个数组元素对应的位置。

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() 对多维数组,按照多个条件进行排序

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

	)


你可能感兴趣的:(array_multisort)