22 votes

Pourquoi PHP n'imprime-t-il pas VRAI/FAUX ?

Duplicata possible :
PHP - Obtenir un bool pour que l'écho soit faux quand il est faux

Étant donné le test suivant.php :

<?php

echo TRUE . "\n";    // prints "1\n"
echo FALSE . "\n";   // prints "\n"

?>

Pourquoi est-ce que php -f test.php imprimer TRUE o FALSE ? Plus important encore, dans le FALSE Dans ce cas, pourquoi n'imprime-t-il rien ?

39voto

Mark Byers Points 318575

De la manuel :

Une valeur booléenne VRAIE est convertie en la chaîne "1". Une valeur booléenne FALSE est convertie en "" (la chaîne vide). Cela permet de faire des allers-retours entre les valeurs booléennes et les chaînes de caractères.

23voto

Peter Points 2983

Parce que false == '';

faites ceci pour imprimer les booléens :

$bool = false;
echo $bool ? 'true' : 'false';

ou...

echo $bool ? 'yes' : 'no';
echo $bool ? '1' : '0';

7voto

deceze Points 200115

Parce que les valeurs booléennes, lorsqu'elles sont converties en chaîne, sont converties en 1 et une chaîne vide respectivement.

Apparemment, il s'agit de permettre un aller-retour transparent entre booléen -> chaîne -> booléen.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X