3v4l.org

run code in 300+ PHP versions simultaneously
<?php $games = array(); $players = array_values($players); $tempplayers = $players; $n = count($players); $temp = $players; if (($n / 2) != round(($n / 2), 0)) { $rounds = $n; $games_per_go = ($n - 1) / 2; } else { $rounds = $n - 1; $games_per_go = $n / 2; } $offset = 0; $fixed = array_shift($tempplayers); $teams = $players; function scheduler($teams) { if (count($teams) % 2 != 0) { array_push($teams, "bye"); } $away = array_splice($teams, (count($teams) / 2)); $home = $teams; for ($i = 0; $i < count($home) + count($away) - 1; $i++) { for ($j = 0; $j < count($home); $j++) { $games[$i][$j][Home] = $home[$j]; $games[$i][$j][Away] = $away[$j]; } if (count($home) + count($away) - 1 > 2) { array_unshift($away, array_shift(arra($home, 1, 1))); array_push($home, array_pop($away)); } } return $games; } var_dump(scheduler([1,2,3,4,5,6]));

preferences:
40.6 ms | 412 KiB | 5 Q