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&MYSQL留言板源码
Jul 19 PHP
php中常用的预定义变量小结
May 09 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
Jan 11 PHP
浅谈apache和nginx的rewrite的区别
Feb 22 PHP
解析link_mysql的php版
Jun 30 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 PHP
PHP中isset与array_key_exists的区别实例分析
Jun 02 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
php支付宝APP支付功能
Jul 29 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 PHP
Laravel5.1框架路由分组用法实例分析
Jan 04 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页面间传递参数实例代码
2008/06/05 PHP
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
javascript getElementsByTagName
2011/01/31 Javascript
jquery随机展示头像代码
2011/12/21 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
python实现得到当前登录用户信息的方法
2019/06/21 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
PyCharm更改字体和界面样式的方法步骤
2019/09/27 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
.net笔试题
2014/03/03 面试题
大学毕业的自我鉴定
2013/10/08 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
气象学专业个人求职信
2014/04/22 职场文书
任命书范本大全
2014/06/06 职场文书
十佳党员事迹材料
2014/08/28 职场文书
离职感谢信
2015/01/21 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书