Это простейший тип. boolean выражает истинность значения. Он
  может быть либо TRUE, либо FALSE.
 
   Для указания boolean, используйте константы TRUE или
   FALSE. Обе они регистронезависимы.
  
<?php
$foo = True; // присвоить $foo значение TRUE
?>
Обычно, некоторый оператор возвращает boolean значение, которое потом передается управляющей конструкции.
<?php
// == это оператор, который проверяет
// эквивалентность и возвращает boolean
if ($action == "show_version") {
    echo "The version is 1.23";
}
// это необязательно...
if ($show_separators == TRUE) {
    echo "<hr>\n";
}
// ... потому что следующее имеет тот же самый смысл:
if ($show_separators) {
    echo "<hr>\n";
}
?>
Для явного преобразования в boolean, используйте (bool) или (boolean). Однако, в большинстве случаев приведение типа необязательно, так как значение будет автоматически преобразовано, если оператор, функция или управляющая конструкция требует boolean аргумент.
Смотрите также Манипуляции с типами.
   При преобразовании в boolean, следующие значения рассматриваются как
   FALSE:
  
FALSE
    
   
   Все остальные значения рассматриваются как TRUE (включая любой
   resource).
  
    -1 рассматривается как TRUE, как и любое другое ненулевое
    (отрицательное или положительное) число!
   
<?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)
?>