Este es el tipo más simple. Un boolean expresa un valor que indica
verdad. Puede ser TRUE
(verdadero) o FALSE
(falso).
Para especificar un literal de tipo boolean se emplean las constantes TRUE
o
FALSE
. Ambas no son susceptibles a mayúsculas y minúsculas.
<?php
$foo = True; // asigna el valor TRUE a $foo
?>
Usualmente, el resultado de un operador que devuelve un valor de tipo boolean es pasado a una estructura de control.
<?php
// == es un operador que comprueba la
// igualdad y devuelve un booleano
if ($accion == "mostrar_version") {
echo "La versión es 1.23";
}
// esto no es necesario...
if ($mostrar_separadores == TRUE) {
echo "<hr>\n";
}
// ...porque se puede escribir simplemente:
if ($mostrar_separadores) {
echo "<hr>\n";
}
?>
Para convertir explícitamente un valor al tipo boolean, use los amoldamientos (bool) o (boolean). Sin embargo, en la mayoría de casos es innecesario el amoldamiento, ya que un valor será convertido automáticamente si un operador, función o estructura de control requiere un argumento de tipo boolean.
Véase también la Manipulación de tipos.
Cuando se realizan conversiones a boolean, los siguientes valores se
consideran FALSE
:
FALSE
mismo
Cualquier otro valor se considera como TRUE
(incluido cualquier resource y NAN
).
-1 se considera TRUE
, como cualquier otro número distinto de cero
(ya sea negativo o positivo).
<?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)
?>