PHP Booleano


Ejemplo

Boolean es un tipo, que tiene dos valores, denotado como true o false .

Este código establece el valor de $foo como true y $bar como false :

$foo = true;
$bar = false;

true y false no distinguen entre mayúsculas y minúsculas, por lo que también se pueden usar TRUE y FALSE , incluso es posible FaLsE . El uso de minúsculas es más común y se recomienda en la mayoría de las guías de estilo de código, por ejemplo, PSR-2 .

Los booleanos se pueden usar en sentencias como esta:

if ($foo) { //same as evaluating if($foo == true)
    echo "true";
}

Debido al hecho de que PHP está escrito de forma débil, si $foo anterior es distinto de true o false , se convierte automáticamente en un valor booleano.
Los siguientes valores dan como resultado false :

  • un valor cero: 0 (entero), 0.0 (flotante) o '0' (cadena)
  • una cadena vacía '' o matriz []
  • null (el contenido de una variable no establecida, o asignado a una variable)

Cualquier otro valor resulta en true .

Para evitar esta comparación, puede imponer una comparación sólida utilizando === , que compara valor y tipo . Vea la comparación de tipos para más detalles.

Para convertir un tipo en booleano, puede usar la conversión (bool) o (boolean) antes del tipo.

var_dump((bool) "1"); //evaluates to true

o llame a la función boolval :

var_dump( boolval("1") ); //evaluates to true

Conversión booleana a una cadena (tenga en cuenta que false produce una cadena vacía):

var_dump( (string) true ); // string(1) "1"
var_dump( (string) false ); // string(0) ""

Conversión booleana a un entero:

var_dump( (int) true ); // int(1)
var_dump( (int) false ); // int(0)

Tenga en cuenta que lo contrario también es posible:

var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)

También todo lo que no sea cero devolverá verdadero:

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)