我正在制作一个锦标赛应用程序,其中将有4个,6个或8个玩家相互对战。
它是基于回合的。因此,例如,如果总共有6个玩家,那么将有5个回合,每个回合3对。每个玩家每轮只能出现一次。
我一直在使用for循环来获取所需的组合,但是如何将这些对分成几轮以免重复呢?到目前为止,这是我所做的事情(进行每种组合):
<?php
$players = [1,2,3,4,5,6];
for($i = 0; $i < count($players); $i++):
for($j = 0; $j < $i; $j++):
$pair1 = $players[$j];
$pair2 = $players[$i];
$pairs[] = $pair1.$pair2;
endfor;
endfor;
/* Output:
[
0 => "12"
1 => "13"
2 => "23"
3 => "14"
4 => "24"
5 => "34"
6 => "15"
7 => "25"
8 => "35"
9 => "45"
10 => "16"
11 => "26"
12 => "36"
13 => "46"
14 => …Run Code Online (Sandbox Code Playgroud)