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 相关文章推荐
基于mysql的bbs设计(五)
Oct 09 PHP
php str_pad 函数使用详解
Jan 13 PHP
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
Mar 28 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
CodeIgniter控制器之业务逻辑实例分析
Jan 20 PHP
Symfony2安装第三方Bundles实例详解
Feb 04 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
PHP解决中文乱码
Apr 28 PHP
PHP实现打包zip并下载功能
Jun 12 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
html中select语句读取mysql表中内容
2006/10/09 PHP
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
php实现Session存储到Redis
2015/11/11 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
深入理解NumPy简明教程---数组2
2016/12/17 Python
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
python 爬取小说并下载的示例
2020/12/07 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
消防先进事迹材料
2014/02/10 职场文书
村庄绿化方案
2014/05/07 职场文书
mysql知识点整理
2021/04/05 MySQL
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
vue3不同环境下实现配置代理
2022/05/25 Vue.js