Tipos
PHP Manual

Booleanos

Este é o tipo mais simples. Um booleano expressa um valor de verdade. Ele pode ser TRUE ou FALSE.

Sintaxe

Para especificar um booleano literal, use as palavras-chave TRUE ou FALSE. Ambas são case-insensitive.

<?php
$foo 
True// atribui o valor True para $foo
?>

Tipicamente, o resultado de um operador que retorne um valor booleano, é passado para uma estrutura de controle.

<?php
// == É um operador que testa
// igualdade e retorna um booleano.
if ($action == "mostrar_versao") {
    echo 
"A versão é 1.23";
}

// isto não é necessário ...
if ($exibir_separadores == TRUE) {
    echo 
"<hr>\n";
}

// ... porque você pode simplesmente escrever isso:
if ($exibir_separadores) {
    echo 
"<hr>\n";
}
?>

Convertendo para booleano

Para converter explicitamente um valor para booleano, utilize os modificadores (bool) ou (boolean). Entretanto, na maioria dos casos, o modificador não será necessário, já que qualquer valor será convertido automaticamente se um operador, função ou estrutura de controle requerer um argumento booleano.

Veja também Manipulação de tipos.

Ao converter para booleano, os seguintes valores são considerados FALSE:

Qualquer outro valor é considerado TRUE (incluindo qualquer recurso).

Aviso

-1 é considerado TRUE, como qualquer número que não seja zero (negativos ou positivos)!

<?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)
?>

Tipos
PHP Manual