PHP中数组的分组排序实例

2015-01-24信息快讯网

这篇文章主要介绍了PHP中数组的分组排序实例,对PHP数组分组排序的方法,需要的朋友可以参考下

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]);
    }
}

用 Composer构建自己的 PHP 框架之构建路由
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
用 Composer构建自己的 PHP 框架之基础准备
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
仿dedecms下拉分页样式修改的thinkphp分页类实例
PHP与MYSQL中UTF8 中文排序示例代码
PHP与MYSQL中UTF8编码的中文排序实例
PHP清除数组中所有字符串两端空格的方法
php实现根据字符串生成对应数组的方法
php数组中删除元素之重新索引的方法
PHP数组排序之sort、asort与ksort用法实例
php实现的常见排序算法汇总
PHP实现数组递归转义的方法
destoon实现VIP排名一直在前面排序的方法
PHP is_subclass_of函数的一个BUG和解决方法
php_screw安装使用教程(另一个PHP代码加密实现)
PHP Curl出现403错误的解决办法
PHP的foreach中使用引用时需要注意的一个问题和解决方法
神盾加密解密教程(一)PHP变量可用字符
PHP+javascript制作带提示的验证码源码分享
将二维数组转为一维数组的2种方法
php实例分享之二维数组排序
php通过数组实现多条件查询实现方法(字符串分割)
yii框架表单模型使用及以数组形式提交表单数据示例
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
不使用php api函数实现数组的交换排序示例
PHP二维数组排序的3种方法和自定义函数分享
排序算法之PHP版快速排序、冒泡排序
©2014-2024 dbsqp.com