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







Répondre avec citation




Partager