Maison >développement back-end >tutoriel php >PHP二维数组排序问题

PHP二维数组排序问题

WBOY
WBOYoriginal
2016-06-23 14:08:231024parcourir

PHP二维关联数组,按一个关键字升序,一个关键字降序,如何实现?
我知道能用系统函数array_multisort()简单实现

foreach($data as $key=>$value){  $win[$key] = $value['win'];  $lose[$key] = $value['lose'];}array_multisort($win,SORT_ASC,$lose,SORT_DESC,$data);var_dump($data);

可是如果字段多了呢,求大神指导如何用其他的方法实现??
$data[] = array('win' => 67, 'lose' => 2);$data[] = array('win' => 86, 'lose' => 1);$data[] = array('win' => 85, 'lose' => 6);$data[] = array('win' => 98, 'lose' => 2);$data[] = array('win' => 86, 'lose' => 6);$data[] = array('win' => 67, 'lose' => 7);


回复讨论(解决方案)

无论用什么方法,都需要对每个排序键进行处理

预处理的 foreach 实际是在对排序键做索引

multisort参数继续列下去就是

但是,实际应用时,如果数据不多,基本是三列排序就决定了,第四项之后对顺序影响很微的

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn