全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

今天发现一个很好用二维数组排序的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  # usort  # 排序  # php数组排序usort、uksort与sort函数用法  # php二维数组排序方法(array_multisort usort)  # PHP中usort在值相同时改变原始位置问题的解决方法  # PHP 多维数组排序(usort  # uasort)  # php函数usort使用方法示例详解  # 升序  # 两队  # 自定义  # 总得分  # 组中  # 就会  # 第一个  # 第二个  # 推荐给  # 只需要  # 第二节  # 第三节  # 排在  # 需要用  # 本场比赛  # 将用  # 很好用  # 加时赛  # subject_id  # gt 


相关文章: 孙琪峥织梦建站教程如何优化数据库安全?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  如何通过.red域名打造高辨识度品牌网站?  制作表格网站有哪些,线上表格怎么弄?  定制建站策划方案_专业建站与网站建设方案一站式指南  如何用y主机助手快速搭建网站?  招商网站制作流程,网站招商广告语?  盐城做公司网站,江苏电子版退休证办理流程?  javascript基本数据类型及类型检测常用方法小结  建站主机是否等同于虚拟主机?  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  如何选择PHP开源工具快速搭建网站?  股票网站制作软件,网上股票怎么开户?  C++中引用和指针有什么区别?(代码说明)  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  无锡营销型网站制作公司,无锡网选车牌流程?  如何彻底删除建站之星生成的Banner?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  北京专业网站制作设计师招聘,北京白云观官方网站?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  济南企业网站制作公司,济南社保单位网上缴费步骤?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  C++如何使用std::optional?(处理可选值)  建站VPS选购需注意哪些关键参数?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  C#怎么使用委托和事件 C# delegate与event编程方法  建站之星如何快速生成多端适配网站?  制作网站怎么制作,*游戏网站怎么搭建?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Python多线程使用规范_线程安全解析【教程】  javascript中的try catch异常捕获机制用法分析  建站之星图片链接生成指南:自助建站与智能设计教程  免费ppt制作网站,有没有值得推荐的免费PPT网站?  建站之星如何快速更换网站模板?  建站之星好吗?新手能否轻松上手建站?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  建站主机类型有哪些?如何正确选型  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  已有域名和空间如何快速搭建网站?  建站之星如何实现网站加密操作?  如何正确下载安装西数主机建站助手?  建站之星2.7模板:企业网站建设与h5定制设计专题  建站主机服务器选购指南:轻量应用与VPS配置解析  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  教学网站制作软件,学习*后期制作的网站有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。