[résolu]variables qui devraient être identiques

Eléphant du PHP | 83 Messages

16 nov. 2011, 01:15

Bonsoir,

je compare 2 variables qui logiquement devraient être identiques, mais la comparaison échoue :
		$str2 = strtr($str2,  "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",   
			"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"); 
	$firstname = strtr($firstname,  "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",   
			"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");  

	echo "str2=".$str2." firstname=".strtolower($firstname)." comp=".strcmp(strtolower($str2),strtolower($firstname))."<br>";
J'élimine les caractères spéciaux dans les 2 variables. $str2 est le résultat de la lecture d'un fichier xls et $firstname de la lecture d'un fichier xml (Tout est en PHP, mais pour lire le xls, j'utilise un code horriblement compliqué que j'ai récupéré (environ 1700 lignes de code !!). Evidemment le echo donne la même chose ; il y a sûrement un problème d'encodage, mais comment aller plus loin ?
Modifié en dernier par laurents le 18 nov. 2011, 23:57, modifié 1 fois.

ViPHP
xTG
ViPHP | 7331 Messages

16 nov. 2011, 10:30

Essaies avec la comparaison normale.
if( $str2 === $firstname)
Car la comparaison binaire ne peut fonctionner si les deux Strings ne sont pas encodées pareil.

Eléphant du PHP | 83 Messages

16 nov. 2011, 11:11

Je n'y comprends rien :?: , car je viens d'essayer ce que tu conseilles :
$comp=(strtolower($str2)===strtolower($firstname));
echo "str2=".$str2." firstname=".strtolower($firstname)." comp=".$comp."<br>";
et dans $comp, il n'y a rien...

ViPHP
ViPHP | 5462 Messages

16 nov. 2011, 11:25

encore du crosspost ...
surtout que ça fais une dizaine de fois que je t'ai déjà dit comment faire

Eléphant du PHP | 83 Messages

16 nov. 2011, 11:31

encore du crosspost ...
Bien que je ne comprenne pas ta reproche, je comprends bien que c'en est une, mais pourtant, c'est vrai que je n'arrive pas à m'en sortir =P~

ViPHP
ViPHP | 5462 Messages

16 nov. 2011, 11:35

encore du crosspost ...
Bien que je ne comprenne pas ta reproche, je comprends bien que c'en est une, mais pourtant, c'est vrai que je n'arrive pas à m'en sortir =P~
je t'ai déjà dit comment faire, ça sert a quoi de te le redire une énième fois si c'est pour revenir dans 2 jours ?

Eléphant du PHP | 83 Messages

16 nov. 2011, 11:49

je t'ai déjà dit comment faire, ça sert a quoi de te le redire une énième fois si c'est pour revenir dans 2 jours ?
Car je tenais à le lire une énième+1 fois :mrgreen:. La réalité, c'est que ça ne me rappelle rien...

ViPHP
ViPHP | 5462 Messages

16 nov. 2011, 11:57

je t'ai déjà dit comment faire, ça sert a quoi de te le redire une énième fois si c'est pour revenir dans 2 jours ?
Car je tenais à le lire une énième+1 fois :mrgreen:. La réalité, c'est que ça ne me rappelle rien...
bah écoute cherche dans tes sujets d'ouverts et relis ...

Eléphant du PHP | 83 Messages

16 nov. 2011, 23:13

J'ai beau avoir regardé, pas trouvé #-o (les boules :( )

Eléphant du PHP | 83 Messages

19 nov. 2011, 00:00

C'est finalement résolu :D avec un ltrim sur l'une des chaînes.