Quelle est la différence entre ==
y ===
?
- Comment exactement la vague
==
la comparaison fonctionne-t-elle ? - Comment exactement le strict
===
la comparaison fonctionne-t-elle ?
Quels seraient des exemples utiles ?
Quelle est la différence entre ==
y ===
?
==
la comparaison fonctionne-t-elle ?===
la comparaison fonctionne-t-elle ?Quels seraient des exemples utiles ?
Les variables ont un type et une valeur.
Lorsque vous utilisez ces variables (en PHP), il arrive que vous n'ayez pas le bon type. Par exemple, si vous faites
if ($var == 1) {... do something ...}
PHP doit convertir ("to cast") $var en entier. Dans ce cas, "$var == 1" est vrai car toute chaîne non vide est convertie en 1.
Lorsque vous utilisez ===, vous vérifiez que la valeur ET LE TYPE sont égaux, donc "$var === 1" est faux.
Ceci est utile, par exemple, lorsque vous avez une fonction qui peut retourner false (en cas d'erreur) et 0 (résultat) :
if(myFunction() == false) { ... error on myFunction ... }
Ce code est erroné car si myFunction()
retourne 0, il est casté en false et vous semblez avoir une erreur. Le code correct est :
if(myFunction() === false) { ... error on myFunction ... }
parce que le test est que la valeur de retour "est un booléen et est fausse" et non pas "peut être casté en faux".
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.