Undefined offset PHP ao gerar rodadas de sorteio de campeonatos de futebol

26/01/2017

0

Olá galera!
Estou com este script para sortear as partidas e gerar as rodadas de uma campeonato por exemplo, mas está dando erro NOTICE Undefined offset: 4na linha echo $jogos["Rodada: " . ($rod + 1)][$jog] . " x " . $jogos["Rodada: " . ($rod + 1)][($jog + 1)] . "<br />";

Será o que pode ser feito? Segue o código abaixo.

<?php

$times = array('Time1', 'Time2', 'Time3', 'Time4', 'Time5', 'Time6', 'Time7', 'Time8', 'Time9','Time10', 'Time11', 'Time12'); //Array de Times
$qtde_times = count($times); // Quantidade de Times
$num_rodadas = $qtde_times - 1; //numero de rodadas
$times_por_rodada = 2 * (int) ($qtde_times / 2);
$casa = array(); //guarda os jogos de quem joga em casa
$fora = array(); // guarda os jogos de quem joga fora
$jogos = array(); // guarda os jogos no final
$jogos_temp = array(); //array temporário, verifica quem já jogou em cada rodada
for ($i = 0; $i < $qtde_times; $i++) { //For para caminhar entre os times
    for ($j = $i; $j < $qtde_times; $j++) { //For para caminha entre os adversários
        if ($times[$i] != $times[$j]) { //verifica pra não deixar jogar um time contra ele mesmo
            if ($j % 2 == 0) { //if pra ver quem joga em casa ou fora
                $casa[] = $times[$i];
                $fora[] = $times[$j];
            } else {
                $casa[] = $times[$j];
                $fora[] = $times[$i];
            }//fim do if / else de jogar em casa ou fora
        }// verifica se é diferente pra poder fazer o confronto
    }// fim do for que caminha entre os adversários
}// fim do for que verifica os times
//
for($x=0; $x<count($casa); $x++){
    echo $casa[$x] . " x " . $fora[$x] . "<br />";
}
echo  "<br />";
//parte que verifica quem já jogou em qual rodada
for ($rodada = 0; $rodada < $num_rodadas; $rodada++) {
    for ($t = 0; $t < count($casa); $t++) {
        if (($casa[$t] != "") and ((in_array($casa[$t], $jogos_temp)) == false) and (((in_array($fora[$t], $jogos_temp)) == false))) {
            $jogos_temp[] = $casa[$t];
            $jogos_temp[] = $fora[$t];
            $casa[$t] = "";
            $fora[$t] = "";
        }
    }
    $jogos["Rodada: " . ($rodada + 1)] = $jogos_temp;
    $jogos_temp = array();
}

for ($rod = 0; $rod < $num_rodadas; $rod++) {
    echo "Rodada: " . ($rod + 1) . "<br />";
    for ($jog = 0; $jog < $times_por_rodada; $jog+=2) {
        echo $jogos["Rodada: " . ($rod + 1)][$jog] . " x " . $jogos["Rodada: " . ($rod + 1)][($jog + 1)] . "<br />";
    }
    echo "<br />";
}
?>
Tiago Souza

Tiago Souza

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar