IF condition, là je ne comprend pas ??

Fermé
jeremy88 - Modifié par jeremy88 le 5/03/2014 à 12:34
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 5 mars 2014 à 13:53
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

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
5 mars 2014 à 13:19
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
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
5 mars 2014 à 13:53
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