En mi opinión, la mejor manera de lograr el resultado deseado es con var_export
.
Esto hará siempre impresión de un valor (y no en silencio ocultar null
o false
), pero le dará información sobre lo que está imprimiendo. var_export
le dice qué valor tiene, intenta literalmente imprimir su valor para que pueda copiar/pegar el resultado en php.
var_export(true); // true
var_export(false); // false
var_export(1); // 1
var_export(0); // 0
var_export(null); // NULL
var_export('true'); // 'true' <-- note the quotes
var_export('false'); // 'false'
Por supuesto, si usted quiere estrictamente una cadena "booleano", puede convertir a un valor lógico como en el siguiente ejemplo, pero tenga cuidado con "trampas" casting!
var_export((bool) true); // true
var_export((bool) false); // false
var_export((bool) 1); // true
var_export((bool) 0); // false
var_export((bool) ''); // false
var_export((bool) 'true'); // true
var_export((bool) null); // false
// !! CAREFUL WITH CASTING !!
var_export((bool) 'false'); // true
var_export((bool) '0'); // false
Si esto es para la depuración, intente var_dump en lugar de echo. –
El reparto '(bool)' es redundante, no es necesario convertir bool en bool: '(bool) true === true'. –
¿Hay alguna manera de configurar PHP para que 'echo 0 == 1;' produzca '0' o' falso'? – mario