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

/**
     * 二维数组根据某个字段排序
     * @param $array array 要排序的数组
     * @param $keys  string 要排序的键字段
     * @param int $sort 排序类型  SORT_ASC SORT_DESC
     * @return mixed 排序后的数组
     */
    public static function arraySort($array, $keys, $sort = SORT_DESC)
    {
        $keysValue = [];
        foreach ($array as $k => $v) {
            $keysValue[$k] = $v[$keys];
        }
        array_multisort($keysValue, $sort, $array);
        return $array;
    }

大神评论的方法:

#转集合排序
collect($array)->sortBy('key')->toArray();
collect($array)->sortByDesc('key')->toArray();

array_multisort(array_column($array, 'key'), SORT_DESC, $array);
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 4

其实你可以这样,

//更改原数组
array_multisort(array_column($array, 'key'), SORT_DESC, $array);
3年前 评论
sgm4231 (楼主) 3年前
celaraze 3年前

其实你也可以这样,

#转集合排序
collect($array)->sortBy('key')->toArray();
// or
collect($array)->sortByDesc('key')->toArray();
3年前 评论
sgm4231 (楼主) 3年前

其实你可以这样,

//更改原数组
array_multisort(array_column($array, 'key'), SORT_DESC, $array);
3年前 评论
sgm4231 (楼主) 3年前
celaraze 3年前

其实你也可以这样,

#转集合排序
collect($array)->sortBy('key')->toArray();
// or
collect($array)->sortByDesc('key')->toArray();
3年前 评论
sgm4231 (楼主) 3年前
颠倒的玉石

集合是个好用的东西,主要看你们看不看这块的文档了

3年前 评论
sgm4231 (楼主) 3年前
工匠 3年前
janus

秀 :kissing_heart:

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!