PHP二维数组排序问题

PHP二维数组排序问题
数据如上,正常这个数组是按照order_sort倒序这个字段排序,

现在遇到问题是,假设这个字段相同重复,第二个排序条件,就按照ballhallclick_count这个值更大的优先级排列

PHP二维数组排序问题

如何才能根据这个两个字段优先级排列,请问有什么方法吗?给些意见参考

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

file $dataArray = sortArrByManyField($result,'order_sort',SORT_DESC,'click_count',SORT_DESC,'distances',SORT_ASC);

3年前 评论
╰ゝSakura 3年前
讨论数量: 7

array_multisort 了解一下

3年前 评论
颠倒的玉石

同一楼

3年前 评论

@颠倒的玉石 你们仔细看一下,主要是在第一个条件下,保证第二个字段的排序,不是说单一的一个字段排序

3年前 评论
╰ゝSakura

$arr = [ ["f" => 1, "s" => 2], ["f" => 1, "s" => 3], ["f" => 2, "s" => 3], ];

$first = array_column($arr, "f"); $second = array_column($arr, "s");

array_multisort($first, SORT_ASC, $second, SORT_DESC, $arr); var_dump($arr);

贴段代码给你,自己运行下就懂了,1楼说的是没问题的

3年前 评论

order('sort desc,sss desc') ???

3年前 评论

$arr = [ ["f" => 1, "s" => 2], ["f" => 1, "s" => 3], ["f" => 2, "s" => 3], ];

    $first = array_column($arr, "f"); $second = array_column($arr, "s");

    array_multisort($first, SORT_ASC, $second, SORT_DESC, $arr);
3年前 评论

file $dataArray = sortArrByManyField($result,'order_sort',SORT_DESC,'click_count',SORT_DESC,'distances',SORT_ASC);

3年前 评论
╰ゝSakura 3年前

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