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 不错的学习资料
Feb 06 PHP
PHP 数组入门教程小结
May 20 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
php分页函数示例代码分享
Feb 24 PHP
php中cookie的使用方法
Mar 29 PHP
ThinkPHP实现支付宝接口功能实例
Dec 02 PHP
Yii实现多按钮保存与提交的方法
Dec 03 PHP
smarty中改进truncate使其支持中文的方法
May 30 PHP
php 微信开发获取用户信息如何实现
Dec 13 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
Apr 03 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
建立动态的WML站点(三)
2006/10/09 PHP
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
PHP+JS+rsa数据加密传输实现代码
2011/03/23 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
php日期操作技巧小结
2016/06/25 PHP
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
jQuery学习笔记之创建DOM元素
2015/01/19 Javascript
Bootstrap学习笔记之环境配置(1)
2016/12/07 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
跟老齐学Python之有点简约的元组
2014/09/24 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
普通党员个人对照检查材料
2014/09/18 职场文书
2014年法务工作总结
2014/12/11 职场文书
投诉信范文
2015/07/02 职场文书
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers