El tipo bool solo posee dos valores y se utiliza para expresar un valor de verdad. Puede ser true
o false
.
Para especificar un booléen literal, utilice la constante true
o false
. Ambas son insensibles a mayúsculas y minúsculas.
<?php
$foo = true; // asigna el valor TRUE a $foo
?>
Típicamente, el resultado de un operador que devuelve un booléen, pasado luego a una estructura de control.
<?php
// == es un operador que prueba
// la igualdad y devuelve un booleano
if ($action == "show_version") {
echo "La versión es 1.23";
}
// esto no es necesario...
if ($show_separators == TRUE) {
echo "<hr>\n";
}
// ...en su lugar, se puede utilizar, con el mismo significado:
if ($show_separators) {
echo "<hr>\n";
}
?>
Para convertir explícitamente un valor en bool, utilice el cast (bool)
. Generalmente, esto no es necesario porque cuando un valor se utiliza en un contexto lógico, se interpretará automáticamente como un valor de tipo bool. Para más información, ver la página Type Juggling.
Al convertir en booléen, los siguientes valores son considerados como false
:
false
, en sí mismo
0
(cero)
0.0
y -0.0
(cero)
""
, y la cadena "0"
Todos los demás valores son considerados como true
(incluyendo los recursos y NAN
).
-1
es considerado como true
, como todos los números diferentes de cero (negativos o positivos) !
Ejemplo #1 Conversión en booleano
<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) "0"); // 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)
?>