PHP中数组的分组排序实例


Posted in PHP onJune 01, 2014

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的FTP学习(四)
Oct 09 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
php在线代理转向代码
May 05 PHP
php 字符串压缩方法比较示例
Jan 23 PHP
php中的mongodb select常用操作代码示例
Sep 06 PHP
php json_encode()函数返回json数据实例代码
Oct 10 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
PHP如何将log信息写入服务器中的log文件
Jul 29 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
php-7.3.6 编译安装过程
Feb 11 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 #PHP
PHP Curl出现403错误的解决办法
May 29 #PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
May 29 #PHP
神盾加密解密教程(一)PHP变量可用字符
May 28 #PHP
CI框架开发新浪微博登录接口源码完整版
May 28 #PHP
PHP+javascript制作带提示的验证码源码分享
May 28 #PHP
微信支付开发教程(一)微信支付URL配置
May 28 #PHP
You might like
详细介绍:Apache+PHP+MySQL配置攻略
2006/09/05 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
django创建简单的页面响应实例教程
2019/09/06 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
python 常见的排序算法实现汇总
2020/08/21 Python
解决Python安装cryptography报错问题
2020/09/03 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
委托公证书范本
2014/04/03 职场文书
机关出纳岗位职责
2014/04/03 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
孔庙导游词
2015/02/04 职场文书
电影地道战观后感
2015/06/04 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js
Go语言编译原理之源码调试
2022/08/05 Golang