Това е най-лесния тип. Булевият тип изразява стойност за истинност. Той може да бъде или TRUE (истина), или FALSE (неистина).
Забележка: Булевият тип беше въведен в PHP 4.
За да укажете булев литерал, използвайте една от двете ключови думи: TRUE или FALSE. И двете са нечувствителни към регистъра.
<?php
$foo = True; // присвояване на стойността TRUE на $foo
?>
В повечето случаи се използва някакъв вид оператор, който връща булева стойност, която след това се предава на контролна структура.
<?php
// == е оператор, който проверява
// равенство и връща булев
if ($action == "show_version") {
echo "The version is 1.23";
}
// това не е необходимо...
if ($show_separators == TRUE) {
echo "<hr>\n";
}
// ...защото може просто да напишете
if ($show_separators) {
echo "<hr>\n";
}
?>
За да превърнете изрично стойност в булев тип, използвайте преобразуването (bool) или (boolean). В повечето случаи обаче няма нужда да се използва преобразуване, понеже стойността ще бъде преобразувана автоматично, когато даден оператор, функция или контролна структура изискват булев аргумент.
Вж. също Манипулации с типове.
При преобразуване в булев тип, следните стойности се считат за FALSE:
Всяка друга стойност се смята за TRUE (включително който и да е ресурс).
-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)
?>