PHP二维数组排序(简单易懂版)

1.先定义一个数组


$data[] = array('volume' => 67, 'asd'=>'b','edition' => 2);
$data[] = array('volume' => 86,'cc'=>'b', 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6,'test'=>'b');
$data[] = array('eq'=>'b','volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 3,'jr'=>'b');
$data[] = array('wt'=>'b','volume' => 67, 'edition' => 7);

2.获取要排序的字段

$edit = array_column($data,'edition');

3.先进行列排序,然后让$data数组按该字段来排序。

array_multisort($edit,SORT_DESC,$data);

4.此时$data就按 edition 字段倒序的方式来排序了!!

5.如果还有其他排序条件,则往函数后添加,最后再填写$data。 和mysql order相似,参数的字段越前,优先级越高。

$vol = array_column($data,'volume');
$edit = array_column($data,'edition');
array_multisort($vol,SORT_ASC,$edit,SORT_DESC,$data);

6.此时是先按 volume升序,然后值相同时就按 edition降序 来排序了!

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值