What are some best practices for creating a program to generate a schedule for a sports event using PHP?

When creating a program to generate a schedule for a sports event using PHP, it is important to consider factors such as the number of teams, the number of rounds, and any specific scheduling constraints. One approach is to use a round-robin tournament format, where each team plays every other team exactly once. This can be achieved by creating a nested loop to generate pairings for each round.

<?php

// Define an array of teams
$teams = ['Team A', 'Team B', 'Team C', 'Team D'];

// Calculate the number of rounds needed
$numTeams = count($teams);
$numRounds = $numTeams - 1;

// Generate the schedule
$schedule = [];
for ($round = 1; $round <= $numRounds; $round++) {
    $roundSchedule = [];
    for ($i = 0; $i < $numTeams / 2; $i++) {
        $matchup = [$teams[$i], $teams[$numTeams - 1 - $i]];
        $roundSchedule[] = $matchup;
    }
    $schedule[] = $roundSchedule;

    // Rotate teams for the next round
    $lastTeam = array_pop($teams);
    array_splice($teams, 1, 0, $lastTeam);
}

// Output the schedule
foreach ($schedule as $round => $roundSchedule) {
    echo "Round " . ($round + 1) . ":\n";
    foreach ($roundSchedule as $matchup) {
        echo $matchup[0] . " vs " . $matchup[1] . "\n";
    }
    echo "\n";
}

?>