php 二维数组根据某个字段排序

array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。

排序顺序标志:

  • SORT_ASC - 按照上升顺序排序
  • SORT_DESC - 按照下降顺序排序
  • /**
     * 二维数组根据某个字段排序
     * @param array $array 要排序的数组
     * @param string $keys   要排序的键字段
     * @param string $sort  排序类型  SORT_ASC     SORT_DESC 
     * @return array 排序后的数组
     */
    function arraySort($array, $keys, $sort = SORT_DESC) {
        $keysValue = [];
        foreach ($array as $k => $v) {
            $keysValue[$k] = $v[$keys];
        }
        array_multisort($keysValue, $sort, $array);
        return $array;
    }

     方法二:

  • 数组$list中有  ordersum字段,按照ordersum大小来排序
  • $arr1 = array_column($list, 'ordersum');
    $news = array_multisort($arr1, SORT_DESC ,SORT_NUMERIC , $list);
posted @ 2020-09-02 11:34  大熊童鞋  阅读(178)  评论(0编辑  收藏  举报