【发布时间】:2017-03-22 07:43:09
【问题描述】:
我正在尝试创建高尔夫比分直播排行榜,但遇到了一个问题。我想按谁的最低点对数组进行排序,但如果 2 个或更多点具有相同的点,则按它们所在的孔排序。
我的初始数组如下所示:
Array
(
[0] => Array
(
[userid] => 1301
[holes] => 6
[points] => -2
)
[1] => Array
(
[userid] => 231
[holes] => 5
[points] => 7
)
[2] => Array
(
[userid] => 3421
[holes] => 6
[points] => 7
)
[3] => Array
(
[userid] => 46
[holes] => 6
[points] => 3
)
[4] => Array
(
[userid] => 745
[holes] => 4
[points] => 7
)
)
现在,我这样做是按点对数组进行排序:
$sortArray = array();
foreach($playersArray as $person){
foreach($person as $key=>$value){
if(!isset($sortArray[$key])){
$sortArray[$key] = array();
}
$sortArray[$key][] = $value;
}
}
$orderby = "points";
array_multisort($sortArray[$orderby],SORT_ASC,$playersArray);
这按点对数组进行排序,但正如您所见,我有 3 名球员得到 7 分,但在不同的洞,我想对那些洞相同的球员进行排序,所以排名最高的是最低洞的球员。
希望这是有道理的,任何帮助表示赞赏。
提前致谢:-)
【问题讨论】: