Différence entre == et === en PHP
Différence entre == et === en PHP : comportement étrange lors de la comparaison d'une chaîne et d'un nombre
Bonjour à tous ! Je suis débutant en PHP et j'ai rencontré un comportement inattendu des opérateurs de comparaison. J'essaie de comprendre la différence entre == (égalité non stricte) et === (égalité stricte).
J'ai un code simple :
$a = '123abc';
$b = 123;
var_dump($a == $b); // Résultat : true
var_dump($a === $b); // Résultat : falseJe m'attendais à ce que les deux comparaisons retournent false, car les types sont différents (chaîne et nombre). Mais == retourne true. Pourquoi cela se produit-il ? J'ai lu que == effectue une conversion de type, mais je ne comprends pas comment la chaîne '123abc' peut être égale au nombre 123.
Ce que j'ai déjà essayé :
- J'ai vérifié avec différentes chaînes (par exemple, 'abc123' — là == a retourné false)
- J'ai lu la documentation PHP sur les opérateurs de comparaison
- J'ai expérimenté avec d'autres types (booléens, null)
Pouvez-vous expliquer avec un exemple clair quand utiliser == et quand utiliser === ? Et pourquoi dans mon cas le
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Algorithmes et structures de données en Swift : guide complet pour développeur iOS
Surveillance des applications C# : métriques et alertes dans .NET
Zéros non significatifs en Java : performance et élégance du code
Adresse IP client en PHP : comment éviter les erreurs en 2025