当前位置:首页 > PHP教程 > php数组 > 列表

PHP中数组的分组排序实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-01-31 18:26:39 浏览: 评论:0 

这篇文章主要介绍了PHP中数组的分组排序实例,对PHP数组分组排序的方法,需要的朋友可以参考下。

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

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

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

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

方法一:

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

方法二:

  1. for($j=0;$j<count($list);$j++) { 
  2.     for($i=count($list)-1;$i>$j;$i--){ 
  3.         if($list[$i][0] == $list[$i-1][0] && $list[$i][2] > $list[$i-1][2]) 
  4.             list($list[$i],$list[$i-1]) = array($list[$i-1],$list[$i]); 
  5.     } 

Tags: PHP数组分组排序

分享到: