Este é o tipo mais simples. Um booleano expressa um valor de verdade. Ele
pode ser TRUE
ou FALSE
.
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";
}
?>
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
:
FALSE
Qualquer outro valor é considerado TRUE
(incluindo qualquer
recurso).
-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)
?>