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中看实例学正则表达式
Dec 25 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
php支付宝接口用法分析
Jan 04 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
thinkphp实现附件上传功能
May 26 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 PHP
PHP实现简易图形计算器
Aug 28 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简单的会话类代码
2011/08/08 PHP
php动态函数调用方法
2015/05/21 PHP
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
js href的用法
2010/05/13 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
详解python3中zipfile模块用法
2018/06/18 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
python中时间转换datetime和pd.to_datetime详析
2019/08/11 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
大二学生职业生涯规划书
2014/02/05 职场文书
文明好少年事迹材料
2014/08/19 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
大学生见习报告总结
2014/11/04 职场文书
群众路线学习心得体会范文
2014/11/05 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
少儿励志名言(80句)
2019/08/14 职场文书