Heim >Backend-Entwicklung >PHP-Tutorial >PHP二维数组排序问题

PHP二维数组排序问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-23 14:08:231051Durchsuche

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参数继续列下去就是

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn