Page 1 sur 1
0 et FALSE la même chose ?
Posté : 02 mars 2007, 21:04
par neo765
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
Posté : 02 mars 2007, 21:07
par jojolapine
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 ?
Posté : 02 mars 2007, 21:12
par neo765
oui, je comprends mieux
dans ce cas comment donner la valeur FALSE dans une table SQL ?
Merci
Posté : 02 mars 2007, 21:15
par jojolapine
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)
Posté : 02 mars 2007, 21:46
par mere-teresa
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
Posté : 03 mars 2007, 11:56
par Hywan
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

Posté : 04 mars 2007, 20:48
par Snipy
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 ?