JTagua

Inicio » PHP » Tipos escalares » booleano

Archivo de la categoría: booleano

Tutorial PHP(5): Tipo boolean.

boolean

Este es el tipo más simple. Un boolean expresa un valor de verdad. Puede ser TRUE o FALSE. Para especificar un literal boolean, use alguna de las palabras clave TRUE o FALSE. Ambas son insensibles a mayúsculas y minúsculas.

<?php
$foo = True; // asigna el valor TRUE a $foo
?>

Normalmente, el resultado de un operador que devuelve un valor boolean es pasado a una estructura de control.

<?php
// == es un operador que prueba por
// 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";
}
?>

Conversión a booleano.

Para convertir explícitamente un valor a boolean, use el moldeamiento (bool) o (boolean). Sin embargo, en la mayoría de casos no es necesario usar el moldeamiento, ya que un valor será convertido automáticamente si un operador, función o estructura de control requiere un argumento tipo boolean. Cuando se realizan conversiones a boolean, los siguientes valores son considerados FALSE:

  • el boolean FALSE mismo
  • el integer 0 (cero)
  • el float 0.0 (cero)
  • el valor string vacío, y el string «0»
  • un array con cero elementos
  • un object con cero variables miembro (sólo en PHP 4)
  • el tipo especial NULL (incluyendo variables no definidas)
  • objetos SimpleXML creados desde etiquetas vacías

Cualquier otro valor es considerado TRUE (incluyendo cualquier resource).

Advertencia-1 es considerado TRUE, como cualquier otro número diferente a 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)
?>