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脚本的10个技巧(2)
Oct 09 PHP
php 在文件指定行插入数据的代码
May 08 PHP
深入探讨PHP中的内存管理问题
Aug 31 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 PHP
php目录拷贝实现方法
Jul 10 PHP
十大使用PHP框架的理由
Sep 26 PHP
PHP页面输出搜索后跳转下一页的处理方法
Sep 30 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
PHP实现限制域名访问的实现代码(本地验证)
Sep 13 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函数
2011/05/31 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
2015/09/06 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
python实现指定字符串补全空格的方法
2015/04/30 Python
python控制台中实现进度条功能
2015/11/10 Python
Python3.6.x中内置函数总结及讲解
2019/02/22 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
django自带调试服务器的使用详解
2019/08/29 Python
在django中自定义字段Field详解
2019/12/03 Python
python读取mysql数据绘制条形图
2020/03/25 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
德国帽子专家:Hutshopping
2019/11/03 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
传播学专业毕业生自荐信
2013/11/04 职场文书
积极分子思想汇报
2014/01/04 职场文书
国旗下演讲稿
2014/05/08 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android
详解Vue router路由
2021/11/20 Vue.js