php usort 使用用户自定义的比较函数对二维数组中的值进行排序


Posted in PHP onMay 02, 2017

今天发现一个很好用二维数组排序的php方法,usort,推荐给大家,以后二维数组里面,要按照一个字段的值排序用这个方法简单高效,例如下面的数组:

[guess_subject] => Array
    (
      [0] => Array
        (
          [subject_id] => 4587
          [game_id] => 9228
          [parent_category_id] => 78
          [subject_title] => 全场比赛两队总得分之和是
          [subject_date_time] => 1490668200
          [status] => 2
          [subject_answer] => 0
          [totle_join] => 0
          [max_nickname] => 
          [max_currency] => 
        )
 
      [1] => Array
        (
          [subject_id] => 4588
          [game_id] => 9228
          [parent_category_id] => 78
          [subject_title] => 本场比赛是否有加时赛
          [subject_date_time] => 1490668200
          [status] => 2
          [subject_answer] => 0
          [totle_join] => 0
          [max_nickname] => 
          [max_currency] => 
           
 
        )
 
      [2] => Array
        (
          [subject_id] => 4584
          [game_id] => 9228
          [parent_category_id] => 78
          [subject_title] => 第二节两队总得分之和是
          [subject_date_time] => 1490668200
          [status] => 1
          [subject_answer] => 0
          [totle_join] => 0
          [max_nickname] => 
          [max_currency] => 
        )
 
      [3] => Array
        (
          [subject_id] => 4585
          [game_id] => 9228
          [parent_category_id] => 78
          [subject_title] => 第三节两队总得分之和是
          [subject_date_time] => 1490668200
          [status] => 2
          [subject_answer] => 0
          [totle_join] => 0
          [max_nickname] => 
          [max_currency] => 
         )
    )

要按照status字段的升序排列的话,只需要这样写

foreach($data as $key => &$value) {
      // 按照status的升序排序,使用用户自定义的比较函数对数组中的值进行排序,
      // 本函数将用用户自定义的比较函数对一个数组中的值进行排序。 如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
      // 在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。
      usort($value['guess_subject'], function($a, $b){
        if ($a['status'] == $b['status'])
          return 0;
        return ($a['status'] < $b['status']) ? -1 : 1;
      });
      
    }
    return $data;

就会按照status的 升序排列啦, status=1 的数组单元会排在前面

PHP 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
php桌面中心(四) 数据显示
Mar 11 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
PHP异步调用socket实现代码
Jan 12 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
php导出CSV抽象类实例
Sep 24 PHP
php实用代码片段整理
Nov 12 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
PHP array_shift()用法实例分析
Jan 07 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 PHP
AJAX的使用方法详解
Apr 29 #PHP
PHP实现的DES加密解密封装类完整实例
Apr 29 #PHP
PHP编程实现csv文件导入mysql数据库的方法
Apr 29 #PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 #PHP
PHP中Notice错误常见解决方法
Apr 28 #PHP
PHP实现查询手机归属地的方法详解
Apr 28 #PHP
PHP中Cookie的使用详解(简单易懂)
Apr 28 #PHP
You might like
咖啡常见的种类
2021/03/03 新手入门
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
php文本转图片自动换行的方法
2013/03/13 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
取得传值的函数
2006/10/27 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
json的前台操作和后台操作实现代码
2012/01/20 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
python关闭windows进程的方法
2015/04/18 Python
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
python pandas模块基础学习详解
2019/07/03 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
寒假家长评语大全
2014/04/16 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书
公司周年庆典标语
2014/10/07 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
在js中修改html body的样式
2021/11/11 Javascript
Python中requests库的用法详解
2022/06/05 Python