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+iframe实现隐藏无刷新上传文件
Feb 10 PHP
php explode函数实例代码
Feb 27 PHP
php分页函数完整实例代码
Sep 22 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
php基于CodeIgniter实现图片上传、剪切功能
May 14 PHP
Apache无法自动跳转却显示目录的解决方法
Nov 30 PHP
php中final关键字用法分析
Dec 07 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
PHP实现随机数字、字母的验证码功能
Aug 01 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 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
php 设计模式之 单例模式
2008/12/19 PHP
php中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
php 保留字列表
2012/10/04 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
PHP实现本地图片转base64格式并上传
2020/05/29 PHP
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
JavaScript 的继承
2011/10/01 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
详解python中requirements.txt的一切
2017/03/03 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
numpy.where() 用法详解
2019/05/27 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
简历的自荐信
2013/12/19 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
门前三包责任书
2014/04/15 职场文书
党性观念心得体会
2014/09/03 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript
如何优化vue打包文件过大
2022/04/13 Vue.js