C'est le type le plus simple. Un bool 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) "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)
?>