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学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
PHP批量采集下载美女图片的实现代码
Jun 03 PHP
PHP读取大文件的类SplFileObject使用介绍
Apr 09 PHP
PHP获取当前页面URL函数实例
Oct 22 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 PHP
php数组指针操作详解
Feb 14 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
laravel 实现向公共模板中传值 (view composer)
Oct 22 PHP
PHP实用小技巧之调用录像的方法
Dec 05 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
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
php设计模式 Builder(建造者模式)
2011/06/26 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
PHP实现图片裁剪、添加水印效果代码
2014/10/01 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
浅谈Python类中的self到底是干啥的
2019/11/11 Python
python线程里哪种模块比较适合
2020/08/02 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
阿迪达斯比利时官方商城:adidas比利时
2016/10/10 全球购物
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
办公室副主任职责范本
2014/03/08 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
倡议书作文
2015/01/19 职场文书
三下乡个人总结
2015/03/04 职场文书
工作态度怎么写
2015/06/25 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python
Javascript设计模式之原型模式详细
2021/10/05 Javascript
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技