Bonjour,
Si je fais un test
if (a==0)
{
}
if (a==FALSE)
{
}
Je voudrais savoir si il s'agit de la même chose ?
Merci
$a=2;
$b=true;
$c=0;
if($a==2){
echo "message affiché car $a est bien égal à 2";
}
if($b){
echo "message affiché car $b vaut true";
}
if($c){
echo "message pas affiché, car $c vaut 0";
}
// pour pallier à ce soucis
if($c===false){
echo "message non affiché car $c n'est pas du même type que false";
}
voilà pour quelques exemples, as-tu un peu mieu compris ?
MEttre seulement == au niveau de l'efficacité sera t'elle la même ?Bonjour
L'opérateur === est particulier. Il permet de tester si une valeur est booléenne, mais aussi que les types des opérandes soient bien des booléens.
Il est préférable, lors d'une comparaison avec un booléen, d'utiliser l'opérateur ===.
Il faut également faire attention à ce que 0 ne soit pas '0' mais bel et bien 0 ! Attention à ne pas confondre avec une chaîne de caractères.
En SQL, tu peux définir un champ comme étant un booleen. Mais je ne sais pas s'il accèpte 0 et 1 ou true et false. Vous savez vous ?
Bonne journée