Bonjour,

Jusqu'à présent avec PHP 7 je faisais ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
if (($resultat_recherche_nombre[0][0] + 54400) >= $totalcalcule)
{
 
}
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.

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 message
Uncaught TypeError: Unsupported operand types: string + int
J'ai constaté que cette solution fonctionne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
if (((int)$resultat_recherche_nombre[0][0] + 54400) >= $totalcalcule)
{
 
}
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 ?

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