0 et FALSE la même chose ?

Eléphant du PHP | 124 Messages

02 mars 2007, 21:04

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
Modifié en dernier par neo765 le 29 mai 2008, 23:20, modifié 1 fois.

ViPHP
ViPHP | 3607 Messages

02 mars 2007, 21:07

pas tout à fait... quelques exemples:
$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 ?

Eléphant du PHP | 124 Messages

02 mars 2007, 21:12

oui, je comprends mieux

dans ce cas comment donner la valeur FALSE dans une table SQL ?

Merci
Modifié en dernier par neo765 le 29 mai 2008, 23:20, modifié 1 fois.

ViPHP
ViPHP | 3607 Messages

02 mars 2007, 21:15

il faut donner la valeur 0 ou 1 (0 pour false et 1 pour true), mais ne pas faire un if($valeur_recupere===true), mais un if($valeur_recupere==true), ou encore if($valeur_recupere)

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

02 mars 2007, 21:46

La fonction empty() te permettra de gérer une valeur false de la même manière que 0, et de l'opposer à TRUE ou autre chose.

http://fr3.php.net/empty
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

ViPHP
ViPHP | 4674 Messages

03 mars 2007, 11:56

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 :)
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 206 Messages

04 mars 2007, 20:48

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 :)
MEttre seulement == au niveau de l'efficacité sera t'elle la même ?