IF condition, là je ne comprend pas ??

jeremy88 -  
mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un bout de code tout simple même plus que simple j'hallucine tellement que je ne comprend pas :



if($var1 == $var2){

ECHO 'VARIABLES ÉGALES';

}else{

echo 'Variable 1 : '.$var1;
echo 'Variable 2 : '.$var2;

echo 'VARIABLES NON ÉGALES';

}

Ce qui me choc c'est que cette condition affiche VARIABLES NON ÉGALES alors que $var1 et $var2 affichent les mêmes valeurs !!

Comprenez-vous ?? C'est un mystère !

Merci !

2 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Cela peut être dû à des espaces, des caractères bizarres, etc.
    Pour le vérifier, essaie de faire var_dump($var1) et var_dump($var2).

    N'hésite pas aussi à afficher le code source de ta page HTML générée, car les navigateurs peuvent masquer des choses.

    Xavier
    0
  2. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonjour,

    Vous avez mis quoi dans $var1 et $var2?

    Un exemple de cas où le résultat est différent:

    $var1 = 1/10;
    $var2 = 0.1;

    Pourquoi?

    Parce que 1/10 va donner en réalité un résultat du genre: 0.10000000000897987987

    alors que 0.1 = 0.1

    C'est un "effet de bord" des nombres flottants.

    Autre cas:

    $var1 = "toto";
    $var2 = "toto ";

    un espace en plus et les chaînes sont plus égales....

    A+
    0