Booléen
C'est le type le plus simple. Un booléen représente une valeur de vérité.
Il peut valoir TRUE
ou FALSE
.
Syntaxe
Pour spécifier un booléen littéral, utilisez le mot-clé 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"; } ?>
Conversion en booléen
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
:
-
le booléen
FALSE
, lui-même - l'entier 0 (zéro)
- le nombre à virgule flottante 0.0 (zéro)
- la chaîne vide, et la chaîne "0"
- un tableau avec aucun élément
- un objet avec aucun membre, ni variable (uniquement en PHP 4)
- le type spécial NULL (incluant les variables non définies)
- les objets SimpleXML créés depuis des balises vides
Toutes les autres valeurs sont considérées comme TRUE
(y compris toutes les
ressources).
-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) ?>