C'est le type le plus simple. Un booléen représente une valeur de vérité.
Il peut valoir TRUE
ou 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éen, utilisez (bool) ou (boolean). Cependant, dans la plupart des cas, le transtypage n'est pas nécessaire, sachant qu'une valeur sera automatiquement convertie si un opérateur, une fonction ou une structure de contrôle demandent un argument de type booléen.
Voir aussi le transtypage.
Lors d'une conversion en booléen, les valeurs suivantes sont
considérées comme FALSE
:
FALSE
, lui-même
Toutes les autres valeurs sont considérées comme TRUE
(y compris toutes 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) 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)
?>