Migration PHP7 - instruction "each" DEPRECATED
Bonjour,
J'ai migré en PHP7.
Comme l'instruction each est DEPRECATED, j'ai adapté:
while (list($cle, $val_date_reelle) = each($date_reelle)
AND list($cle, $val_butd) = each($butd)
AND list($cle, $val_butv) = each($butv)
AND list($cle, $val_matchs_id) = each($matchs_id))
{
.....
}
que j'ai remplacé par:
foreach ($date_reelle as $cle =>$val_date_reelle)
AND ($butd as $cle => $val_butd)
AND ($butv as $cle => $val_butv )
AND ($matchs_id as $cle => $val_matchs_id )
{
......
}
ce qui me donne l'erreur : Parse error: syntax error, unexpected 'AND' (T_LOGICAL_AND)
Je n'ai pas de solution, merci de m'aider.
Réponses apportées à cette discussion
Salut,
de fait, on ne peut pas utiliser la boucle foreach de cette manière.
Pour autant que je comprenne le code original, les données de base sont dans les variables $date_reelle, $butd, $butv et $matchs_id. J'ai un peu de mal à visualiser le genre de traitement qui doit être effectué dans la boucle, mais a priori, il faudrait imbriquer des boucles foreach
Par exemple :
foreach($date_reelle as $cle1 => $val_date_reelle)
{
foreach($butd as $cle2 => $val_butd)
{
foreach($butv as $cle3 => $val_butv)
{
foreach($matchs_id as $cle4 => $val_matchs_id)
{
//...
}
}
}
}
Mais il n'est pas certain que ça corresponde à l'objectif poursuivi.
Pour avoir une meilleure idée, il faudrait mettre quelques exemples de données et le résultat attendu