php实例分享之二维数组排序


Posted in PHP onMay 15, 2014

PHP一维数组的排序可以用sort(),asort(),arsort()等函数;

PHP二维数组的排序需要自定义。

以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:

function array_sort($arr,$keys,$type='asc'){ 
 $keysvalue = $new_array = array();
 foreach ($arr as $k=>$v){
  $keysvalue[$k] = $v[$keys];
 }
 if($type == 'asc'){
  asort($keysvalue);
 }else{
  arsort($keysvalue);
 }
 reset($keysvalue);
 $index = 0;//保存下标不变用$k,下标从0开始就用$index;
 foreach ($keysvalue as $k=>$v){
  
  $new_array[$index] = $arr[$k];
  $index++;
 }
 return $new_array; 
}

它可以对二维数组按照指定的键值进行排序,也可以指定升序或降序排序法(默认为升序),用法示例:

$array = array(
 array('name'=>'Js','date'=>'2014-05-01'),
 array('name'=>'Sh','date'=>'2014-04-30'),
 array('name'=>'Bj','date'=>'2014-05-02')
);
$arrayList = array_sort($array,'date');
print_r($arrayList);
PHP 相关文章推荐
介绍一些PHP判断变量的函数
Apr 24 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 PHP
初识php MVC
Sep 10 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 PHP
phpstudy的php版本自由修改的方法
Oct 18 PHP
基于laravel缓冲cache的用法详解
Oct 23 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 PHP
PHP number_format函数原理及实例解析
Jul 14 PHP
php表单请求获得数据求和示例
May 15 #PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 #PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
May 15 #PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 #PHP
php自定义函数截取汉字长度
May 15 #PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
May 15 #PHP
php小技巧之过滤ascii控制字符
May 14 #PHP
You might like
PHP 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
php计算函数执行时间的方法
2015/03/20 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
javascript之函数直接量(function(){})()
2007/06/29 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
12306验证码破解思路分享
2015/03/25 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
综合内勤岗位职责
2014/04/14 职场文书
写求职信有哪些注意事项
2014/05/08 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
2014年业务工作总结
2014/11/17 职场文书
班主任先进事迹材料
2014/12/17 职场文书
教师个人师德总结
2015/02/06 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
vue实现拖拽交换位置
2022/04/07 Vue.js