Предположим, у меня есть 3 команды, каждая из которых должна сыграть друг друга один раз.Как эффективно выполнить итерацию по ним, чтобы запланировать матчи без дубликатов?
$teams = range('a', 'c');
$games = array();
foreach ($teams as $t1)
foreach ($teams as $t2)
if ($t1 != $t2)
$games[] = $t1 . ' vs. ' . $t2;
print_r($games);
Результат:
Array
(
[0] => a vs. b
[1] => a vs. c
[2] => b vs. a <-- Duplicate of [0]
[3] => b vs. c
[4] => c vs. a <-- Duplicate of [1]
[5] => c vs. b <-- Duplicate of [3]
)
Как эффективно избежать повторяющихся совпадений?
Ответ должен дать:
Array
(
[0] => a vs. b
[1] => a vs. c
[2] => b vs. c
)