Booléens
C'est le type le plus simple. Un booléen exprime une valeur de vérité. Il peut prendre comme valeur soit TRUE soit FALSE.
Note: Le type booléen a été introduit en PHP 4.
Syntaxe
Vous pouvez utiliser les mots-clés 'TRUE' et 'FALSE' pour spécifier une valeur de type booléen. Ces mots-clés sont insensibles à la casse.
Example#1 Utilisation des mots-clés TRUE et FALSE
<?php
$foo = True; // assigne la valeur TRUE Ã la variable $foo
?>
Généralement, vous les créerez avec un des opérateurs qui retourne une valeur bool, pour les passer à une structure de contrôle.
Example#2 Utilisation des constantes TRUE et FALSE avec une structure de contrôle
<?php
// == est un opérateur d'égalité
// qui retourne un booléen
if ($action == 'show_version') {
echo 'La version est la 1.23';
}
// Ceci n'est pas nécessaire
if ($show_separators == TRUE) {
echo "<hr />\n";
}
// car vous pouvez simplement utiliser
if ($show_separators) {
echo "<hr />\n";
}
?>
Conversion en booléen
Pour explicitement convertir une valeur en booléen, utilisez les opérateurs de transtypage (bool) ou (boolean). Cependant, dans la plupart des cas, vous n'avez pas besoin d'utiliser ces opérateurs de transtypage, car une valeur sera automatiquement convertie si un opérateur, une fonction ou une structure de contrôle requièrent un argument de type booléen.
Voir aussi le chapitre Définition du type.
Lors des conversions de valeurs de type bool, les valeurs suivantes sont considérées comme fausses (FALSE) :
- Le booléen FALSE lui-même
- L'entier 0 (zéro)
- Le nombre à virgule flottante 0.0 (zéro)
- La chaîne de caractères vide et la chaîne de caractères "0"
- Le tableau vide (aucun élément)
- L'objet vide (aucun élément) (PHP 4 uniquement)
- Le type spécial NULL
- Les objets SimpleXML créés depuis des balises vides
-1 est considéré comme vrai, tout comme les nombres autres que zéro (aussi bien positifs que négatifs) !
Example#3 Conversion en booléen
<?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)
?>