二维,多维数组排序array_multisort()函数的使用
对于数组的排序,很很多方法;随便百度了一下
- sort() - 以升序对数组排序
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
- krsort() - 根据键,以降序对关联数组进行排序
但是这些都是对一维数组的排序,遇到二维,甚至多维的,好像百度出来的结果不容易找到,
下面就来说说array_multisort()这个函数,这个函数能够根据多维数组中指定键值来排序,先上代码
$time_left = array();
foreach($arr1 as $arr){
$time_left[] = $arr['time_left'];
}
array_multisort($time_left,SORT_DESC,SORT_NUMERIC,$arr1);
代码很简单,首先先做了一个降维的处理,示例中是一个二维数组,根据键名time_left中的键值大小进行降序排序,
第一个参数是降维后的需要排序的数组,第二个参数是规定排列顺序(可选值:SORT_ASC - 默认。按升序排列 (A-Z);SORT_DESC - 按降序排列 (Z-A)),第三个是规定排序类型,第四个是原多维数组;
具体可以参考http://www.w3school.com.cn/php/func_array_multisort.asp文档
好像我也解释的不是很清楚。。。
但这些都是我的个人理解,有错误的地方,还请大神斧正;
本文属于个人原创,欢迎转载,转载请附链接: