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 相关文章推荐
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
PHP中防止SQL注入实现代码
Feb 19 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
php检测useragent版本示例
Mar 24 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
php定时执行任务设置详解
Feb 06 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
Apr 23 PHP
Linux系统中为php添加pcntl扩展
Aug 28 PHP
PHP Header用于页面跳转时的几个注意事项
Oct 21 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
七种PHP开发环境搭建工具
Jun 28 PHP
PHP如何防止用户重复提交表单
Dec 09 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
VFP与其他应用程序的集成
2006/10/09 PHP
基于pear auth实现登录验证
2010/02/26 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
PHP钩子实现方法解析
2019/05/21 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
JavaScript使用cookie
2007/02/02 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
JavaScript实现斗地主游戏的思路
2016/02/29 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
js date 格式化
2017/02/15 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
Python中动态检测编码chardet的使用教程
2017/07/06 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
如何基于python实现脚本加密
2019/12/28 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
仓库文员岗位职责
2014/04/06 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
义诊活动总结
2015/02/04 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
工作服管理制度范本
2015/08/06 职场文书
css3 filter属性的使用简介
2021/03/31 HTML / CSS
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers