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
	        )

	)


转载于:https://my.oschina.net/lnmpstudy/blog/421145

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值