如何在PHP中随机填充单个锦标赛消除而不重复?

FBN*_*FBN 3 php arrays random tournament

如果我有这个:

$players = array("A","B","C","D","E","F","G","H","I","J","L","M","N","O","P","Q");
Run Code Online (Sandbox Code Playgroud)

我如何填充像这样的单一锦标赛消除例如:

Matche 1: AxL
Matche 2: CxJ
Matche 3: HxQ
.
.
.
Matche 8: ExP
Run Code Online (Sandbox Code Playgroud)

16名球员= 8场比赛

我也试过这个和其他代码:

<?php

$players = array("A","B","C","D","E","F","G","H","I","J","L","M","N","O","P","Q");
shuffle ($players);

foreach($players as $key=>$value)
{
    echo $value.','.$value.'<br>';
}

?>
Run Code Online (Sandbox Code Playgroud)

Riz*_*123 6

这应该适合你:

只是shuffle()你的数组,然后array_chunk()它成2组,例如

<?php

    $players = ["A","B","C","D","E","F","G","H","I","J","L","M","N","O","P","Q"];
    shuffle($players);
    $players = array_chunk($players, 2);

    foreach($players as $match => $player)
        echo "Match " . ($match+1) . ": " . $player[0] . "x" . $player[1] . "<br>";

?>
Run Code Online (Sandbox Code Playgroud)