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之规范编程命名小结
May 15 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
php检查字符串中是否包含7位GSM字符的方法
Mar 17 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
Joomla使用Apache重写模式的方法
May 04 PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
laravel中的一些简单实用功能
Nov 03 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 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
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
phpmyadmin config.inc.php配置示例
2013/08/27 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
JavaScript 学习点滴记录
2009/04/24 Javascript
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
Javascript算符的优先级介绍
2013/03/20 Javascript
子页向父页传值示例
2013/11/27 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
python实现发送邮件及附件功能
2021/03/02 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
Python join()函数原理及使用方法
2020/11/14 Python
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
JMS中Topic和Queue有什么区别
2013/05/15 面试题
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
2014新年寄语
2014/01/20 职场文书
视光学毕业生自荐书范文
2014/02/13 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
学习之星事迹材料
2014/05/17 职场文书
机电专业求职信
2014/06/14 职场文书
违反交通法规检讨书
2014/09/10 职场文书
离婚上诉状范文
2015/05/23 职场文书