Bonjour,
Jusqu'à présent avec PHP 7 je faisais ceci:
Cela fonctionnait toujours. $resultat_recherche_nombre[0][0] est forcément une chaîne de caractères car récupérée dans la base de données. 54400 et $totalcalcule sont des nombres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (($resultat_recherche_nombre[0][0] + 54400) >= $totalcalcule) { }
Je savais que PHP convertit les variables dans le même format et qu'on a pas à s'occuper de ça.
Mais lors du passage sur PHP 8.0, j'ai un messageJ'ai constaté que cette solution fonctionne:Uncaught TypeError: Unsupported operand types: string + int
C'est nouveau j'imagine, donc à partir de PHP 8 il faut faire attention au type de chaque variable même si toutes les variables commencent toujours par $ ? Ou je n'ai rien compris au réel problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (((int)$resultat_recherche_nombre[0][0] + 54400) >= $totalcalcule) { }
Donc pour résumé, je ne cherche pas vraiment d'aide pour résoudre l'erreur car j'ai trouvé, mais pour comprendre pourquoi ma façon de faire habituelle ne fonctionne plus.
Merci d'avance
Partager