Convierte booleano en valor entero php

¿Hay alguna función incorporada para PHP que tome un valor booleano y devuelva su equivalente entero? 0 para FALSO, 1 para VERDADERO? Por supuesto, puede crear fácilmente una función para hacerlo, solo estoy preguntando si hay una función integrada dentro de PHP. Ya probé intval() y lo intval() en (int) pero no funcionaron, devuelven 0 en ambos casos de TRUE y FALSE.

Editar: el problema era que no era realmente un booleano, era una cadena “falsa”, “verdadera”, php no detectó la publicación de jquery que pasó un booleano. problema resuelto, gracias!

http://www.php.net/manual/en/language.types.integer.php

Normalmente, simplemente $myInt = (int)$myBoolean debería funcionar, ¿puede mostrarnos su código de lo contrario?

Solo agrega un “+” antes de tu variable así:

 $myBool = true; var_dump(+$myBool); ouputs: int(1); 

Si obtiene su valor de JSON IE A través de un AJAX POST, el valor vendrá como una cadena (como lo ha encontrado). Una forma de evitar esto es comparar la cadena verdadera / falsa y luego lanzar el bool a una int

 $requestBool = $_REQUEST['bool_value']; //This is 'true' or 'false' $myInt = (int)($requestBool === 'true'); echo $myInt; //returns: 0 or 1 
 echo (int)true; echo '
'; echo (int)false; echo '
'; echo intval(true); echo '
'; echo intval(false); echo '
'; echo true + true;

Puedes hacer múltiples fundiciones de una sola vez:

 $isTest = 'true'; (int)(bool)$isTest echo $isTest; // this outputs 1 

Si no está seguro del tipo de datos vea el ejemplo a continuación, funciona en cadenas, enteros y booleanos.

  

filter_var ($ var, FILTER_VALIDATE_BOOLEAN) devolverá bool (true) o bool (false) y luego lo convertirá en entero.

filter_var ()

(PHP 5> = 5.2.0, PHP 7)

filter_var – Filtra una variable con un filtro especificado

Utilice el tipo de conversión (bool):

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