热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php双重排序,在PHP中对数组进行双重排序

我需要在PHP中对数组进行排序,然后在第一个索引相同的情况下按其第二个索引进行排序.让我解释:元素将随机排列:(2,1),(4,4),(2,9),(4,

我需要在PHP中对数组进行排序,然后在第一个索引相同的情况下按其第二个索引进行排序.让我解释 :

元素将随机排列:

(2,1),(4,4),(2,9),(4,8),(2,35),(2,1),(2,35),(4,4),(4,25),(4,4)

我需要先按照第一个数字对它们进行排序.结果将是:

(2,1),(2,9),(2,1),(2,35),(4,4),(4,8),(4,4),(4,25),(4,4)

现在,您可以看到所有元素按第一个索引一起分组.现在我需要按照当前分组的第二个索引“WITHIN”进行分组.因此看起来像:

(2,1),(2,1),(2,9),(2,35),(4,4),(4,4),(4,4),(4,8),(4,25)

这只是数组的简单表示.实际数组如下:

Array

(

[0] => Array

(

[practice_id] => 119

[practice_location_id] => 173

)

[1] => Array

(

[practice_id] => 2

[practice_location_id] => 75

)

[2] => Array

(

[practice_id] => 18

[practice_location_id] => 28

)

[3] => Array

(

[practice_id] => 119

[practice_location_id] => 174

)

[4] => Array

(

[practice_id] => 119

[practice_location_id] => 173

)

[5] => Array

(

[practice_id] => 2

[practice_location_id] => 75

)

[6] => Array

(

[practice_id] => 119

[practice_location_id] => 174

)

[7] => Array

(

[practice_id] => 18

[practice_location_id] => 28

)

[8] => Array

(

[practice_id] => 18

[practice_location_id] => 27

)

)

非常感谢一些帮助.

解决方法:

这个回调使用我刚刚从@ casablanca的回答中学到的东西,然后把它放在一个循环中.这样,它不仅可以比较两个,而且可以比较多个键.

function sort_callback($x, $y)

foreach ($x as $key => $value) {

if ($x[$key] != $y[$key])

return $x[$key] - $y[$key];

}

return 0;

}

如前所述,将此函数作为usort()的回调函数.

标签:php,sorting

来源: https://codeday.me/bug/20190721/1497105.html



推荐阅读
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • 可空类型可空类型主要用于参数类型声明和函数返回值声明。主要的两种形式如下: ... [详细]
  • 由于同源策略的限制,满足同源的脚本才可以获取资源。虽然这样有助于保障网络安全,但另一方面也限制了资源的使用。那么如何实现跨域呢,以下是实现跨域的一些方法。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
  • 本文总结和分析了JDK核心源码(2)中lang包下的基础知识,包括常用的对象类型包和异常类型包。在对象类型包中,介绍了Object类、String类、StringBuilder类、StringBuffer类和基本元素的包装类。在异常类型包中,介绍了Throwable类、Error类型和Exception类型。这些基础知识对于理解和使用JDK核心源码具有重要意义。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 本文介绍了如何对PHP二维数组进行排序以及如何获取最大值。同时还提到了在数据分析系统中使用排序的实例,以及如何统计角色等级和创建角色总数。 ... [详细]
  • 简述在某个项目中需要分析PHP代码,分离出对应的函数调用(以及源代码对应的位置)。虽然这使用正则也可以实现,但无论从效率还是代码复杂度方面考虑ÿ ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
author-avatar
北海盗羽翼800
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有