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降序 来排序了!

 

posted @   jaychou、  阅读(6489)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2021-07-20 tp5简单学会 AES加密
点击右上角即可分享
微信分享提示