基于多个条件的PHP排序多维数组

Bij*_*jan 3 php arrays sorting multidimensional-array

我有一个多维数组,看起来像:

$arr=Array
(
    [0] => Array
        (
            [0] => TEAM1
            [1] => 3
            [2] => 0
            [3] => 422.47
            [4] => 192.62
        )

    [1] => Array
        (
            [0] => TEAM2
            [1] => 2
            [2] => 1
            [3] => 402.14
            [4] => 210.70
        )

    [2] => Array
        (
            [0] => TEAM3
            [1] => 3
            [2] => 0
            [3] => 376.79
            [4] => 174.64
        )
)
Run Code Online (Sandbox Code Playgroud)

这5栏与团队名称,#胜利,#损失,#的得分,#的得分有关。

我将如何$arr按第1列(获胜次数)(降序),第2列(损失数)(升序),然后第3列(要获得的点数)(降序)进行排序

Bij*_*jan 5

我找到了使用的解决方案 array_multisort()

foreach ($arr as $key => $row) {
    $wins[$key] = $row[1]; 
    $losses[$key] = $row[2];
    $ptsfor[$key] = $row[3];
}
array_multisort($wins, SORT_DESC, $losses, SORT_ASC, $ptsfor, SORT_DESC, $arr);
Run Code Online (Sandbox Code Playgroud)