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者的疑难问答(1)
Oct 09 PHP
PHP MemCached高级缓存配置图文教程
Aug 05 PHP
探讨PHP使用eAccelerator的API开发详解
Jun 09 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
php实现RSA加密类实例
Mar 26 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
May 11 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
php开发工具有哪五款
Nov 09 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
PHP中的表达式简述
May 29 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
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
第三节 定义一个类 [3]
2006/10/09 PHP
php基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
PHP多文件上传实例
2015/07/09 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
JS的数组迭代方法
2015/02/05 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
Python调用C++程序的方法详解
2017/01/24 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
Python Pillow Image Invert
2019/01/22 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
机械工程师的岗位职责
2013/11/17 职场文书
捐书活动倡议书
2015/04/27 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js