当前位置: 首页 > 编程笔记 >

PHP中数组的分组排序实例

秦炜
2023-03-14
本文向大家介绍PHP中数组的分组排序实例,包括了PHP中数组的分组排序实例的使用技巧和注意事项,需要的朋友参考一下

PHP的数组,数组中的内容大致如下:

$list = array(
    array(2,3,5),
    array(2,5,24),
    array(3,8,6),
    array(3,2,10),
    array(4,7,20),
    array(4,1,15),
    array(6,4,10),
    array(7,9,20),
    );

为了方便表达,我把3列数字分别称为,ABC三列

需求:默认以A列排序为主,如果A列相同则以C列倒序排列相同的元素。B列其实没有参与排序,但是在实际运用中有用,所以我也写出来了。

方法一:

$a = $c = array();
foreach($list as $val){
    $a[] = $val[0]; //a列
    $c[] = $val[2]; //c列
}
//安装a列升序,然后安装b列降序 , 类似sql,orderby a asc,b desc
array_multisort($a,SORT_ASC , $c, SORT_DESC, $list);
print_r($list);

方法二:
for($j=0;$j<count($list);$j++) {
    for($i=count($list)-1;$i>$j;$i--){
        if($list[$i][0] == $list[$i-1][0] && $list[$i][2] > $list[$i-1][2])
            list($list[$i],$list[$i-1]) = array($list[$i-1],$list[$i]);
    }
}

 类似资料:
  • 本文向大家介绍php选择排序法实现数组排序实例分析,包括了php选择排序法实现数组排序实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了php选择排序法实现数组排序的方法。分享给大家供大家参考。具体分析如下: 选择排序法的基本思路:直接用案例来说明吧,比如有一个数组$arr = array(2,6,3,9),从大到小排序。 第一次大循环:它首先假设$arr[0]为最大值,然后分别跟$

  • 主要内容:PHP - 数组排序函数,sort() - 对数组进行升序排列,实例,实例,rsort() - 对数组进行降序排列,实例,实例,asort() - 根据数组的值,对数组进行升序排列,实例,ksort() - 根据数组的键,对数组进行升序排列,实例,arsort() - 根据数组的值,对数组进行降序排列,实例,krsort() - 根据数组的键,对数组进行降序排列,实例,完整的 PHP Array 参考手册数组中的元素可以按字母或数字顺序进行降序或升序排列。 PHP - 数组排序函数 在

  • 问题内容: 我有这种数组 我需要做的是基于数组的[x] [4](Unix时间戳值)对数组进行排序。我将如何实现? 问题答案: 使用比较函数,在这种情况下,它将比较数组的unix时间戳值: 然后使用如下 函数调用它: 该函数将使用用户提供的比较函数按其值对数组进行排序。如果您希望排序的数组需要按照一些非平凡的条件进行排序,则应使用此函数。 取自 PHP:usort 手册。

  • 问题内容: 我有以下数组结构: 基于,以增量方式对数组进行排序的最佳方法是什么? 因此结果如下所示: 问题答案: 使用。 在PHP≥5.3中,应改为使用匿名函数: 请注意,以上两个代码均假定为整数。 在PHP≥7.0,使用,而不是减法,以防止溢出/截断问题。

  • 本文向大家介绍javascript数组随机排序实例分析,包括了javascript数组随机排序实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript数组随机排序实现方法。分享给大家供大家参考。具体如下: 我们就测试0-9的随机排序,先生成数据 正常排序后的数组元素:0,1,2,3,4,5,6,7,8,9 定义一个随机函数,随机返回正数或者负数,sort函数将根据随机返

  • 本文向大家介绍JS数组排序方法实例分析,包括了JS数组排序方法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS数组排序方法。分享给大家供大家参考,具体如下: 方法一.冒泡排序 思路:依次比较数组中的第一个元素和第二个元素,如果第一个元素大于第二个元素,则交换位置,所以需要两个函数:交换位置函数和比较函数 比较轮数为数组长度 方法二.选择排序 从数组中找到最小值,扔到数组第一位,