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
一个ubbcode的函数,速度很快.
Oct 09 PHP
PHP函数utf8转gb2312编码
Dec 21 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
ThinkPHP CURD方法之table方法详解
Jun 18 PHP
PHP提交表单失败后如何保留已经填写的信息
Jun 20 PHP
php安装swoole扩展的方法
Mar 19 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
详解Go与PHP的语法对比
May 29 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魔法函数与魔法常量使用介绍
2017/07/23 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
JS 实现完美include载入实现代码
2010/08/05 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
python简单验证码识别的实现方法
2019/05/10 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
python操作gitlab API过程解析
2019/12/27 Python
python重要函数eval多种用法解析
2020/01/14 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
基于python实现操作redis及消息队列
2020/08/27 Python
前台文员岗位职责及工作流程
2013/11/19 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
财务人员担保书
2014/05/13 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
Android自定义ScrollView实现阻尼回弹
2022/04/01 Java/Android