PHP二维数组排序简单实现方法


Posted in PHP onFebruary 14, 2016

本文实例讲述了PHP二维数组排序简单实现方法。分享给大家供大家参考,具体如下:

function multi_compare($a, $b)
{
  $val_arr = array(
      'gold'=>'asc',
      'silver'=>'desc'//还可以增加额外的排序条件
  );
  foreach($val_arr as $key => $val){
    if($a[$key] == $b[$key]){
      continue;
    }
    return (($val == 'desc')?-1:1) * (($a[$key] < $b[$key]) ? -1 : 1);
  }
  return 0;
}
$arr = array(
  array('gold'=>1, 'silver'=>2),
  array('gold'=>8, 'silver'=>10),
  array('gold'=>8, 'silver'=>8),
  array('gold'=>2, 'silver'=>1),
);
uasort($arr, 'multi_compare');
print_r($arr);

运行结果如下:

Array
(
  [0] => Array
    (
      [gold] => 1
      [silver] => 2
    )
  [3] => Array
    (
      [gold] => 2
      [silver] => 1
    )
  [1] => Array
    (
      [gold] => 8
      [silver] => 10
    )
  [2] => Array
    (
      [gold] => 8
      [silver] => 8
    )
)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
php模拟用户自动在qq空间发表文章的方法
Jan 07 PHP
php支持断点续传、分块下载的类
May 02 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
phpmyadmin下载、安装、配置教程
May 16 PHP
php实现留言板功能(会话控制)
May 23 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
php微信公众号开发之简答题
Oct 20 PHP
使用PHPWord生成word文档的方法详解
Jun 06 PHP
通过实例解析PHP数据类型转换方法
Jul 11 PHP
php的闭包(Closure)匿名函数初探
Feb 14 #PHP
PHP5.3新特性小结
Feb 14 #PHP
PHP解压tar.gz格式文件的方法
Feb 14 #PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 #PHP
PHP使用socket发送HTTP请求的方法
Feb 14 #PHP
PHP闭包函数详解
Feb 13 #PHP
php设计模式之委托模式
Feb 13 #PHP
You might like
第二节--PHP5 的对象模型
2006/11/16 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
php实现的xml操作类
2016/01/15 PHP
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
vue实现单选和多选功能
2017/08/11 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
Python构造函数及解构函数介绍
2015/02/26 Python
python3+PyQt5实现自定义分数滑块部件
2018/04/24 Python
python2.7实现邮件发送功能
2018/12/12 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
军训拉歌口号
2014/06/13 职场文书
会计专业应届生自荐信
2014/06/28 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
爱心募捐感谢信
2015/01/22 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
公司2015年终工作总结
2015/05/26 职场文书
八年级历史教学反思
2016/02/19 职场文书
工作建议书范文
2019/07/08 职场文书
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android
基于redis+lua进行限流的方法
2022/07/23 Redis