码迷,mamicode.com
首页 > 编程语言 > 详细

二维数组针对某字段排序 - array_multisort()

时间:2018-04-18 01:08:04      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:iso   desc   ring   multi   ram   order   排序数组   public   else   

/**
     * 针对二维数组下的某字段排序
     * @param  array    $myarr      被排序数组
     * @param  string   $sort_key   排序根据字段
     * @param  flag     $sort_order 排序规则:SORT_ASC、SORT_DESC
     * @param  flag     $sort_type  排序类型:SORT_REGULAR、SORT_NUMERIC、SORT_STRING
     * @return array                排序后的数组
     */
    public function myarr_sort($myarr,$sort_key,$sort_order,$sort_type)
    {
        $key_arr = [];
        if(is_array($myarr)){
            foreach($myarr as $m){
                if(is_array($m)){
                    $key_arr[] = $m[$sort_key];
                }else{
                    return ‘我喜欢二维数组多一点‘;
                }
            }
        }else{
            return ‘我喜欢数组,你丑,不要‘;
        }
        array_multisort($key_arr,$sort_order,$sort_type,$myarr);
        return $myarr;
    }

其实就是,把排序字段的值从二维数组里取出来组成一个一维数组,然后通过array_multisort()函数就可以对二维数组按照该排序字段进行排序。

二维数组针对某字段排序 - array_multisort()

标签:iso   desc   ring   multi   ram   order   排序数组   public   else   

原文地址:https://www.cnblogs.com/xincanzhe/p/8870808.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!