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 相关文章推荐
mysql 搜索之简单应用
Apr 27 PHP
php获取mysql版本的几种方法小结
Mar 25 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
Dec 29 PHP
ThinkPHP CURD方法之order方法详解
Jun 18 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
使用PHP编写发红包程序
Jul 22 PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
thinkPHP实现的省市区三级联动功能示例
May 05 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 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 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
PHP4实际应用经验篇(7)
2006/10/09 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
html中使用javascript调用本地程序(exe、doc等)实现代码
2013/04/26 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
深入了解JavaScript 的 WebAssembly
2019/06/15 Javascript
Vue全局loading及错误提示的思路与实现
2019/08/09 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python探索之创建二叉树
2017/10/25 Python
python3 读写文件换行符的方法
2018/04/09 Python
python处理数据,存进hive表的方法
2018/07/04 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
python程序输出无内容的解决方式
2020/04/09 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
工作人员思想汇报
2014/01/09 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
青年文明号汇报材料
2014/12/23 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
建党伟业电影观后感
2015/06/01 职场文书
离职告别感言
2015/08/04 职场文书
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL
Go语言并发编程 sync.Once
2021/10/16 Golang