$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 字段倒序的办法来排序了!

二维数组排序phpPHP二维数组排序简略易懂版 Bootstrap

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