my Geek::Story;

29/09/2008

29/09/2008

Filed under: — guedou @ 23:51
  $zero = 0;
  if ($zero == False)
    echo "Je suis égal à zéro.";
  else
    echo "Je NE suis PAS égal à zéro.";

Hasard de tous les hasards (et contre tout bon sens) ce code PHP affiche Je suis égal à zéro. Pour corriger le problème, il faut tester le type de la variable et vérifier que l’on manipule bien un booléen.

  $zero = 0;
  if (is_bool($zero) && $zero == False)
    echo "Je suis égal à zéro.";
  else
    echo "Je NE suis PAS égal à zéro.";

Faudra m’expliquer à quoi ça sert d’avoir un type booléen et un type entier si c’est pour caster silencieusement comme un tocard … Merci PHP, Merci.