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环境――Appserv
Dec 13 PHP
php基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
PHP 7.4中使用预加载的方法详解
Jul 08 PHP
laravel中的fillable和guarded属性详解
Oct 23 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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
Terran魔法科技
2020/03/14 星际争霸
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
PHP5+UTF8多文件上传类
2008/10/17 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
php阳历转农历优化版
2016/08/08 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
python多线程http下载实现示例
2013/12/30 Python
python实现用户管理系统
2018/01/10 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
python3实现飞机大战
2020/11/29 Python
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
2014年社区卫生工作总结
2014/12/18 职场文书
活动宣传稿范文
2015/07/23 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers