Verdadero PHP

Acerca de   |   ES   |   EN

006a Tipos de datos: booleanos

Un booleano es el tipo de datos más simple. O es verdadero o falso. Nada más. Limitando el tipo a sólo dos posible valores es particularmente útil en evaluar condicionales, lo cual es cuando queremos hacer una decisión en el código. Llegaremos a cómo se hace en un capítulo futuro.

Usted puede asignar un valor booleano a una variable usando una de las dos constantes incluidas: true (verdadero) y false (falso).

<?php
$booleano = true;
$booleano = false;
?>

Anota de que las constantes booleanas son especiales en el sentido de que, desemejante a otras constantes en PHP, ellas no distinguen entre mayúsculas y minúsculas. Por eso, true, TRUE, True, y tRuE son todos iguales. Y también false, FALSE, False, and FaLsE.

Mejores practicas

A pesar de que las constantes booleanas no distinguen entre mayúsculas y minúsculas, por costumbre, sólo use todo minúscula al usarlas: true y false.

Forzado a booleano

Cubrimos el forzado de tipos en la lección de tipos de datos, y es tan simple como poner (bool) antes de lo que quiere forzar. Sin embargo, es importante entender que convertirá a true y que a false.

Lo siguiente viene de la documentación de PHP de booleanos:

Cuando se realizan conversiones a boolean, los siguientes valores se consideran false:

  • el boolean false mismo

  • el integer 0 y -0 (cero)

  • el float 0.0 y -0.0 (cero)

  • el valor string vacío, y el string "0"

  • un array con cero elementos

  • el tipo especial NULL (incluidas variables no establecidas)

  • objetos SimpleXML creados desde etiquetas vacías

<?php
// Lo siguiente convertirá a false:
(bool) false;
(bool) 0;
(bool) 0.0;
(bool) -0.0; // Raro
(bool) "0"; // Esto es sorprendiente
(bool) array();
(bool) null;
(bool) simplexml_load_string("<p></p>"); // También sorprendiente
?>

Algunos de estos tal vez no tienen sentido o parecen extraño. Sólo aceptamos lo raro, y recordamos que son casos cuando forzando a booleano regresará false.

Todo lo demás forzará a true: cualquier número positivo, cualquier número negativo, y cualquier string que no está vacío o "0", etc.


Recursos


Retos

Intenta forzar booleano

Utilizando el método var_dump(), meta las declaraciones mencionadas anteriormente y anote lo que sale.

<?php
var_dump((bool) false));
var_dump((bool) 0);
var_dump((bool) 0.0);
var_dump((bool) -0.0); 
var_dump((bool) "0"); 
var_dump((bool) array());
var_dump((bool) null);
var_dump((bool) simplexml_load_string("<p></p>")); 
?>

Después, trate algunas cosas que deben forzar a true.