FLUX RSS

  • YouTube
  • LinkedIn
  • Google

Erreur de comparaison PHP

Partager vos médias sociaux
  •  ;
  •  ;
  •  ;
  •  ;

Aujourd'hui, J'ai écrit un script en PHP pour être utilisé dans la ligne de commande lorsque je suis tombé sur un comportement inattendu (au moins de ma part).
Le script devrait recevoir trois arguments, le dernier d'entre eux une liste contenant un ou plusieurs codes numériques.
Essayant de valider ce dernier argument a été d'obtenir un résultat différent qu'imaginé.
Voir l'extrait de code que j'utilisais:

Il est intéressant, Quand j'ai couru

le résultat a été

and reversing the condition to

afficher le message ATTENDU.
J'ai essayé d'affecter à une variable distincte et continue ne fonctionne ne pas.

Whyyy??

La comparaison de Type !== cannot be used here, étant donné que tous les arguments seront des chaînes. Quand j'ai bien qu'à ce sujet, j'ai eu la réponse.

So I did some command line tests and I check for the actually behavior of PHP Comparisons.

Quand nous faisons les choses comme: $chaîne == $integer PHP will always do a CAST from String to the other type before comparison, Si le code $chaîne == (int) $chaîne will always return true, depuis $chaîne changera à int in both sides.

Pour éviter ce genre d'ennui, is necessary to have the same type in both sides of comparison.

A la prochaine.


Partager vos médias sociaux
  •  ;
  •  ;
  •  ;
  •  ;

Laisser une réponse

Votre adresse email ne sera pas publié. Les champs obligatoires sont marqués *

Ce site utilise Akismet pour réduire le spam. Apprenez comment vos données de commentaire sont transformées.