字体-字体+

php二维数组按字段排序

2018-05-16 PHP+MYSQL 访问量 234

php中对数组的操作恐怕是使用的非常多的,对数组的排序其实有很多内置的函数可以实现,破晓猫博主前面也讲过字符长短对一维数组元素排序的文章,欢迎有兴趣看看。php中按字符长短对一维数组元素排序

其他的常用的排序函数如下所示。

  • sort() - 以升序对数组排序

  • rsort() - 以降序对数组排序

  • asort() - 根据值,以升序对关联数组进行排序

  • ksort() - 根据键,以升序对关联数组进行排序

  • arsort() - 根据值,以降序对关联数组进行排序

  • krsort() - 根据键,以降序对关联数组进行排序

但是很多时候,上面的普通函数并不能满足我们对复杂数组的排序,比如今天要讲的二维数组的按某字段的排序,就是一个较为复杂的排序。

function fun_sort($result,$sort='SORT_DESC',$field){
    $sort = array(
        'direction' => $sort, //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序
        'field' => $field,       //排序字段
    );
    $arrSort = array();
    foreach ($result AS $uniqid => $row) {
        foreach ($row AS $key => $value) {
            $arrSort[$key][$uniqid] = $value;
        }
    }
    if ($sort['direction']) {
        array_multisort($arrSort[$sort['field']], constant($sort['direction']), $result);
    }

    return $result;
}

以上函数可以直接使用,对二维数组中单个字段排序相当好用。

标签:

原文来自:http://www.dawnfly.cn/article-1-392.html,转载请注明出处,谢谢【破晓博客复制链接地址