PHP booléenne (TRUE / FALSE)?
Je ne peux pas comprendre cela.
Si je type:
function myfunction(){
......
if ...
return TRUE;
if ...
return FALSE;
}
Pourquoi je ne peux pas l'utiliser comme ceci:
$result = myfunction();
if ($result == TRUE)
...
if ($result == FALSE)
...
Ou dois-je utiliser:
$result = myfunction();
if ($result == 1)
...
if ($result == 0)
...
Ou ceci:
$result = myfunction();
if ($result)
...
if (!$result)
...
Petite remarque: le code qui se lit comme suit:
if … return true; else return false;
devrait toujours être réécrit pour return … === true;
ou, dans un langage sûr, il suffit de return …;
. Le if
fait tout simplement pas de sens ici, puisque la condition que nous testons déjà correspond à la valeur de retour.OriginalL'auteur never_had_a_name | 2009-12-07
Vous devez vous connecter pour publier un commentaire.
Je ne pas bien comprendre votre question, mais vous peut utiliser l'un des exemples que vous avez fourni, avec les caractéristiques suivantes:
Si vous dites
if (a == TRUE)
(ou, car la comparaison detrue
est redondant, il suffit deif (a)
), vous devez comprendre que PHP va évaluer plusieurs choses comme vrai: 1, 2, 987, "bonjour", etc.; Ils sont tous les "truey" valeurs". C'est rarement un problème, mais vous devez comprendre cela.Cependant, si la fonction peut renvoyer plus de
true
oufalse
, vous pourriez être intéressés par l'utilisation de===
.===
ne comparer le type de variables:"a" == true
esttrue
, mais"a" === true
est faux.OriginalL'auteur Tordek
Si vous n'avez pas besoin d'utiliser le résultat de la variable $result en outre, je ferais la suite plus courte version:
OriginalL'auteur Aranxo
Vous pouviez faire comme ce
OriginalL'auteur YOU
Vous pouvez utiliser
if($result == TRUE)
mais c'est trop commeif($result)
est assez.OriginalL'auteur Amarghosh
Rappelez-vous que la valeur -1 est considéré comme VRAI, comme tous les autres non-zéro (si positive ou négative). FAUSSE serait de 0 obv...
OriginalL'auteur pcp