Типы
PHP Manual

Булев

Это простейший тип. 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:

Все остальные значения рассматриваются как 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)
?>

Типы
PHP Manual