Page 1 sur 1

true/false vs. 1/0

Posté : 05 févr. 2010, 14:45
par MainMa
J'aimerais savoir si dans le code PHP, true/false peuvent respectivement être remplacés par 1/0. Est-ce que ça peut modifier l'exécution du code ? Si oui, dans quels cas par exemple ? IMHO ça ne change strictement rien, mais peut-être qu'il y a des cas que je n'ai pas envisagé...

PS. Je laisse de coté l'aspect lisibilité/review du code, donc ma question se limite au caractère purement technique.

Re: true/false vs. 1/0

Posté : 05 févr. 2010, 14:56
par AB

Re: true/false vs. 1/0

Posté : 05 févr. 2010, 15:00
par Skikit
Je dirais que la différence principale est la suivante :
$i = 0;

if($i == false)
	echo "i == false<br />";
if($i === false)
	echo "i === false";
Si tu exécutes ce script, tu verras que le deuxième echo ne s'affiche pas, car il s'agit d'une comparaison stricte

Re: true/false vs. 1/0

Posté : 05 févr. 2010, 16:21
par stealth35
apres tu peux utiliser FILTER_VALIDATE_BOOLEAN
http://www.php.net/manual/fr/filter.fil ... lidate.php

Re: true/false vs. 1/0

Posté : 05 févr. 2010, 16:57
par niuxe
[...]s'agit d'une comparaison stricte
+1
[...]apres tu peux utiliser FILTER_VALIDATE_BOOLEAN
http://www.php.net/manual/fr/filter.fil ... lidate.php
Je ne me souvenais plus de cette constante. J'ai plutôt tendance à utiliser EMAIL ou URL ou IP. Pour expliquer à MainMa, comment s'utilise ces constantes entres autres, ça se passe comme ceci :
$resultat = filter_var($chaine_a_traiter,CONSTANTES_FILTRES_VARIABLES_PREDEFINIES);

Re: true/false vs. 1/0

Posté : 05 févr. 2010, 17:52
par MainMa
Je dirais que la différence principale est la suivante :
$i = 0;

if($i == false)
	echo "i == false<br />";
if($i === false)
	echo "i === false";
Si tu exécutes ce script, tu verras que le deuxième echo ne s'affiche pas, car il s'agit d'une comparaison stricte
Ah oui, c'est vrai. D'ailleurs, je suis bête, moi : pareil si je remplace tous les true/false par 0/1, gettype et autres vont avoir des résultats différents.
apres tu peux utiliser FILTER_VALIDATE_BOOLEAN
http://www.php.net/manual/fr/filter.fil ... lidate.php
Ah, je savais pas, ça.


Bref, merci pour vos réponses.