我想創建一個高爾夫球比分排行榜,但我有一個問題。我想按照誰有最低點來排列陣列,但是如果兩個或更多個點有相同的點,則排列他們所在的洞。用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分,但在不同的洞上,並且想要排列那些有相同洞的球員,所以最高排名是最低排名。
希望這是有道理的,任何幫助表示讚賞。
在此先感謝:-)
這將在由高到低的順序對數據進行排序; – hassan
完美,實際上:-) – Mansa