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