Problème avec str_replace [Résolu]

Signaler
Messages postés
392
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
26 septembre 2009
-
Messages postés
392
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
26 septembre 2009
-
Bonjour, je fais pour m'amuser un truc tout simple pour crypter (pas fini le truc) mais bon ...



Voici mon code :

<?php

$texte = 'cd' ;

$original = array(

'a', 'b', 'c', 'd', 'e', 'f', 'g');

$modif = array(

'c', 'd', 'e', 'f', 'g', 'h', 'i');

$texte = str_replace($original, $modif, $texte) ;

echo ' '.$texte.'
' ;

?>



Et ce que je ne comprends pas c'est pourquoi il me renvoie hi ??

Voilà, si vous pouviez me dire mon erreur ...



A++ & merci
<hr size ="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !

8 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Mon dieu,



on est tres tres cons...j'avais vraiment tres mal reflechi! Ce qui se passe est d'une logique implacable...



Il remplace element par element, ok ? Il rencontre c, donc il le
remplace par e. Il continue, il rencontre d, tonc il le remplace par f.
Mais la, le tableau n'est pas termine! Il ne peut pas deviner que toi
tu voulais t'arreter ;-) Donc il continue, et tombe sur...e! il le
remplace par i. Puis tombe sur f, et le remplace par h. Fin du tableau.
Retour : ih



C'est tout a fait normal.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,



voila qui est curieux.

J'ai fait quelques tests : il semble que PHP s'embrouille lorsque dans tes deux tableaux, tu as les memes valeurs.

J'ai essaye avec des lettres, comme toi, et uniquement des valeurs
differentes dans les deux tableaux, cela fonctionne. Mais si il y a des
valeurs identiques, hop, ca ne fonctionne plus comme prevu.
Messages postés
392
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
26 septembre 2009

Salut, merci à toi. Donc en mettant
plusieurs valeurs, c'est cryptable mais indecryptable ! Dommage
mais bon c'est pas grave !



Bon ok, merci à toi et A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Je suis quand meme alle poser la question sur la liste php.net...on verra bien ce qu'en disent les gourous du php :-)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
L'erreur c'est de penser qu'il juge par rapport a la chaine! non, il
juge par rapport au tableau...ce qui est logique sinon ca
fonctionnerait n'importe comment de toutes facons.
Messages postés
392
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
26 septembre 2009

Ha ok mais alors il n'y a pas de solution à moins d'utiliser toutes les lettres ?



A++ et merci
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Non, meme avec toutes les lettres tu auras le meme probleme. Tu ne devrais pas utiliser str_replace pour ca.
Messages postés
392
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
26 septembre 2009

Ok, merci



A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !