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 相关文章推荐
文章推荐系统(二)
Oct 09 PHP
一个取得文件扩展名的函数
Oct 09 PHP
如何在PHP中进行身份认证
Oct 09 PHP
php抽奖小程序的实现代码
Jun 18 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
Nov 07 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
Oct 24 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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
PHP flock 文件锁详细介绍
2012/12/29 PHP
Js获取事件对象代码
2010/08/05 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
2011/11/15 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
javascript操作符&quot;!~&quot;详解
2015/02/10 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
[48:11]完美世界DOTA2联赛 Magma vs GXR 第二场 11.07
2020/11/10 DOTA
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
使用Keras构造简单的CNN网络实例
2020/06/29 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
HTML5的新特性(1)
2016/03/03 HTML / CSS
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
区三好学生主要事迹
2014/01/30 职场文书
党支部对照检查材料
2014/08/25 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
使用Pytorch训练two-head网络的操作
2021/05/28 Python
MySQL 亿级数据导入导出及迁移笔记
2021/06/18 MySQL
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python