PHP对二维数组按照某个字段的值进行排序的两种方法

用PHP对二维数组进行排序:
第一种方法:遍历生成新数组用array_multisort()方法排序;

/**
 * 二维数组的排序
 * @param  array  arr       需要排序的二维数组
 * @param  stringfield     以这个数组的值来排序
 * @param  string direction 排序规则  SORT_ASC 升序  SORT_DESC降序
 * @return array            排序后的数组
 * @author http://blog.m1910.com/
 */
function  sort_array(arr, field,direction = 'SORT_DESC')
{
    arrSort = array();
    foreach(arr AS uniqid =>row){
        foreach(row ASkey=>value){arrSort[key][uniqid] = value;
        }
    }
    array_multisort(arrSort[field], constant(direction), arr);
    returnarr;
}

第二种方法:利用usort()自定义排序进行排序

/**
 * 二维数组的排序
 * @param  array  arr       需要排序的二维数组
 * @param  stringfield     以这个数组的值来排序
 * @return array            排序后的数组
 * @author http://blog.m1910.com/
 * @备注:默认升序,需要降序把a和b调换位置就好了
 */
function  sort_array(arr,field)
{
    usort(arr, function (a, b) use (field) {
        return (a[field] - b[field]);
    });
    return $arr;
}
PHP对二维数组按照某个字段的值进行排序的两种方法

原文链接:https://beltxman.com/1591.html,若无特殊说明本站内容为 行星带 原创,未经同意禁止转载。

PHP对二维数组按照某个字段的值进行排序的两种方法”上有 8 条评论;

  1. php的函数还是很好用的 有时候写了半天方法 发现已经有一个函数 就能解决了

评论已关闭。

Scroll to top