array_multisort — 对多个数组或多维数组进行排序

array_multisort — 对多个数组或多维数组进行排序 成功返回true 否则false

输入数组被当成一个表的列并以行来排序这类似于 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。​
第一个参数必须是一个数组。接下来的每个参数可以是数组也可以是下面列出的排序标志。

排序顺序标志:

​ SORT_ASC – 按照上升顺序排序

​SORT_DESC – 按照下降顺序排序

​排序类型标志:

SORT_REGULAR – 将项目按照通常方法比较

​SORT_NUMERIC – 将项目按照数值比较

​SORT_STRING – 将项目按照字符串比较

SORT_STRING 和 SORT_REGULAR 都是区分大小写字母的,大写字母会排在小写字母之前。 ​

​每个数组之后不能指定两个同类的排序标志。每个数组后指定的排序标志仅对该数组有效 – 在此之前为默认值 SORT_ASC 和 SORT_REGULAR。

//字符串键名的话将被保留,但是数字键将被重新索引,从 0 开始,并以 1 递增。

对二维数组排序 要求 ID降序 name升序​

$arrData =

[

['id' => 1, 'name' => 'haha'],

['id' => 0, 'name' => 'aaha'],

['id' => 2, 'name' => 'caha'],

['id' => 4, 'name' => 'zaha'],

['id' => 16, 'name' => 'daha'],

];
/*
现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。 ​
*/
foreach($arrData as $key=>$value)

{​

$id[$key]=$value['id'];

$arr[$key]=$value['name'];

}

// 把排序数组 $arrData 作为最后一个参数

​array_multisort($id, SORT_DESC, $arr, SORT_ASC, $arrData);

print_r($arrData);

转载或分享请注明地址谢谢:http://blog.csdn.net/w19981220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值