J'utilise des tableaux avec les clés comme la clé d'un tableau, dans le code comme ci-dessous,L'utilisation d'un tableau avec une clé comme un tableau clé
$team = array();
$counter = 0;
$sql = "SELECT Home, Away, Result, Points FROM schedule";
$schedulequery = mysqli_query($conn, $sql);
// divy out the points
if (mysqli_num_rows($schedulequery) > 0) {
while($teamrow = mysqli_fetch_assoc($schedulequery)) {
$points = $teamrow["Points"];
if ($teamrow["Result"] == "Home"){
$team[$teamrow["Home"]] = $team[$teamrow["Home"]] + $points;
}
if ($teamrow["Result"] == "Tie"){
$team[$teamrow["Home"]] = $team[$teamrow["Home"]] + ($points/2);
$team[$teamrow["Away"]] = $team[$teamrow["Away"]] + ($points/2);
}
if ($teamrow["Result"] == "Away"){
$team[$teamrow["Away"]] = $team[$teamrow["Away"]] + $points;
}
if ($teamrow["Result"] == "HomeForfeit"){
$team[$teamrow["Home"]] = $team[$teamrow["Home"]] - $points;
$team[$teamrow["Away"]] = $team[$teamrow["Away"]] + $points;
}
if ($teamrow["Result"] == "AwayForfeit"){
$team[$teamrow["Home"]] = $team[$teamrow["Home"]] + $points;
$team[$teamrow["Away"]] = $team[$teamrow["Away"]] - ($points/2);
}
if ($teamrow["Result"] == "DuelForfeit"){
$team[$teamrow["Home"]] = $team[$teamrow["Home"]] - ($points/2);
$team[$teamrow["Away"]] = $team[$teamrow["Away"]] - ($points/2);
}
}
}
Ce code fonctionne et la mise à jour avec succès dans ma table MySql (cette partie du code n'est pas incluse) chaque fois que l'une de ces lignes est utilisée, j'obtiens une erreur "PHP Notice: Undefined index:".
Est-ce une mauvaise pratique ou est-ce la mauvaise syntaxe? Je suis confus pourquoi cela fonctionne mais me dit toujours un index indéfini.
EDIT: Les lignes qui sont défectueuses sont toutes les fois que j'accède à une ligne avec un double tableau comme "$ team [$ teamrow [" Home "]]". Chaque fois que l'on accède à l'un d'entre eux, j'obtiens une erreur.
EDIT: Je pense que je comprends .. Je crée une nouvelle clé dans un tableau qui n'existe pas déjà?
Quelle ligne est défectueuse? – Machavity