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日期和时间函数集合
Nov 16 PHP
PHP程序61条面向对象分析设计的经验小结
Nov 12 PHP
CodeIgniter实现更改view文件夹路径的方法
Jul 04 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
php中unserialize返回false的解决方法
Sep 22 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
创建无限极分类树型结构的简单方法
Jun 20 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
Aug 15 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 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小偷的核心程序
2007/04/09 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
Vue触发input选取文件点击事件操作
2020/08/07 Javascript
浅谈Python中的作用域规则和闭包
2018/03/20 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
python实现贪吃蛇双人大战
2020/04/18 Python
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
面试求职的个人自我评价
2013/11/16 职场文书
黄河象教学反思
2014/02/10 职场文书
合作意向书范本
2014/03/31 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
房产授权委托书范本
2014/09/22 职场文书
晚会闭幕词
2015/01/28 职场文书
搬迁通知
2015/04/20 职场文书
教师教育教学随笔
2015/08/15 职场文书