Le type bool ne possède que deux valeurs, et est utilisé pour
exprimer une valeur de vérité. Il peut être soit true
soit false
.
Pour spécifier un booléen littéral, utilisez la constante true
ou
false
. Les deux sont insensibles à la casse.
<?php
$foo = true; // assigne la valeur TRUE à $foo
?>
Typiquement, le résultat d'un opérateur qui retourne un booléen, passé ensuite à une structure de contrôle.
<?php
// == est un opérateur qui teste
// l'égalité et retourne un booléen
if ($action == "show_version") {
echo "La version est 1.23";
}
// ceci n'est pas nécessaire...
if ($show_separators == TRUE) {
echo "<hr>\n";
}
// ...à la place, vous pouvez utiliser, avec la même signification :
if ($show_separators) {
echo "<hr>\n";
}
?>
Pour convertir explicitement une valeur en bool, utilisez
le cast (bool)
. Généralement, cela n'est pas nécessaire
car lorsqu'une valeur est utilisée dans un contexte logique, elle sera
automatiquement interprétée comme une valeur de type bool.
Pour plus d'informations, voir le page
Type Juggling.
Lors d'une conversion en booléen, les valeurs suivantes sont
considérées comme false
:
false
, lui-même
0
(zéro)
0.0
et -0.0
(zéro)
""
,
et la chaîne "0"
Toutes les autres valeurs sont considérées comme true
(y compris les
ressources et NAN
).
-1
est considéré comme true
, comme tous les nombres
différents de zéro (négatifs ou positifs) !
<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) "0"); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>