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的FTP学习(三)
Oct 09 PHP
使用 MySQL 开始 PHP 会话
Dec 21 PHP
php中json_encode中文编码问题分析
Sep 13 PHP
Linux编译升级php的详细方法
Nov 04 PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 PHP
php获取bing每日壁纸示例分享
Feb 25 PHP
php+mysql实现用户注册登陆的方法
Jan 03 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
laravel解决迁移文件一次删除创建字段报错的问题
Oct 24 PHP
PHP 图片处理
Sep 16 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
ThinkPHP php 框架学习笔记
2009/10/30 PHP
PHP中计算字符串相似度的函数代码
2012/12/29 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP图像处理类库MagickWand用法实例分析
2015/05/21 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
json 实例详细说明教程
2009/10/31 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
element-ui 中使用upload多文件上传只请求一次接口
2019/07/19 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
python多线程扫描端口示例
2014/01/16 Python
Python3中的2to3转换工具使用示例
2015/06/12 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
2018/03/22 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
详解Python sys.argv使用方法
2019/05/10 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
python批量生成条形码的示例
2020/10/10 Python
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
浅谈Python中对象是如何被调用的
2022/04/06 Python
netty 实现tomcat的示例代码
2022/06/05 Servers