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降序 来排序了!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。