AI编程生活评测

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

编程笔记 / 2017-01-11 / 1 min
用PHP对二维数组进行排序: 第一种方法:遍历生成新数组用 array_multisort() 方法排序;
/**
 * 二维数组的排序
 * @param  array  $arr       需要排序的二维数组
 * @param  string $field     以这个数组的值来排序
 * @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 AS $key=>$value){
            $arrSort[$key][$uniqid] = $value;
        }
    }
    array_multisort($arrSort[$field], constant($direction), $arr);
    return $arr;
}
第二种方法:利用 usort() 自定义排序进行排序
/**
 * 二维数组的排序
 * @param  array  $arr       需要排序的二维数组
 * @param  string $field     以这个数组的值来排序
 * @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;
}
  1. themebetter 2017-03-14 · 18:49

    边学习边总结,很不错。

  2. Feeey个人博客 2017-03-12 · 10:51

    大王叫我来巡山,我把博客转一转。(*^__^*) 嘻嘻……

  3. 企业管理培训 2017-03-03 · 11:54

    专业

  4. 老金@金博客 2017-02-20 · 20:09

    现在不折腾了,有问题打电话

  5. 蜘蛛盟 2017-02-07 · 15:31

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

    1. 行星带 2017-02-09 · 10:28

      同感,还是基础没打好

  6. 文栋说自媒体 2017-01-24 · 11:12

    这个不错,用的时候直接过来拿,哈哈

    1. 行星带 2017-02-09 · 10:27

      的确是这样的!