IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Tableaux de correspondance str_replace [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 82
    Par défaut Tableaux de correspondance str_replace
    Bonjour,
    je rencontre un soucis sur un tableau de correspondance.
    Je récupère un certain nombre d'id dans un flux xml.
    Je dois regénérer un nouveau flux avec de nouveaux id en fonction des id du 1er flux.

    Voici ce que j'ai et qui ne fonctionne évidemment pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $id_type  = array('63', '64', '65', '65', '39', '176', '106', '39', '27', '28', '107', '31', '30', '33', '34', '122', '166', '134', '133', '146', '154', '40', '160', '' , '42', '45', '164', '43', '115', '123', '14', '16', '11', '97', '72', '1', '2', '4', '3', '143', '10', '9', '8', '159', 'ADMIN', '102', '103', '92', '98', '99', '100', '101', '161', '179', '116', '75', '165', '171', '170', '172', '178', '51', '139', '52', '54', '137', '136', '167', '57', '58', '59', '140', '61', '173', '68', '110', '84', '76', '157', '120', 'LABO PHOTO', '177', '112', '175', '109', '88', '117', '89', '114', '90', '91', '93', '77', '79', '120', '94', '67', '95', '119');
     
    $sousmenu_id_type  = array('1045', '1045', '1143', '1144', '1048', '1049', '1050', '1060', '1070', '1071', '1061', '1065', '1066', '1072', '1067', '1068', '1064', '1062', '1073', '1075', '1074', '1078', '1082', '1069' , '1077', '1079', '1063', '1076', '1080', '1081', '1091', '1092', '1093', '1094', '1095', '1097', '1165', '1166', '1167', '1168', '1169', '1170', '1171', '1172', '1098', '1099', '1100', '1101', '1102', '1103', '1104', '1105', '1106', '1107', '1108', '1109', '1117', '1176', '1177', '1178', '1175', '1174', '1180', '1186', '1179', '1189', '1182', '1173', '1183', '1181', '1184', '1187', '1188', '1185', '1112', '1120', '1111', '1116', '1137', '1129', '1127', '1113', '1119', '1114', '1121', '1124', '1123', '1134', '1115', '1125', '1122', '1130', '1131', '1128', '1118', '1132', '1110', '1133', '1136');
     
     
    $sousmenu_id  = str_replace ($id_type , $sousmenu_id_type ,$sousmenu_id );
    Je souhaiterais, en fait, que l'index 0 du premier tableau corresponde à l'index 0 du second tableau...Et uniquement à celui-ci.

    Si quelqu'un peut m'éclairer...

    Merci bcp

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    et comment tu fais la différence entre 65 et 65 ? et le 64 dans 1065 ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 82
    Par défaut
    Ce sont les seuls id temporaires, donc il ne faut pas se préoccuper de cela....

    Le fonctionnement que je souhaite:

    on remplace tab1[0] par tab[0] et ainsi de suite tab1[1] par tab[1]

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par flo73 Voir le message
    Ce sont les seuls id temporaires, donc il ne faut pas se préoccuper de cela....

    Le fonctionnement que je souhaite:

    on remplace tab1[0] par tab[0] et ainsi de suite tab1[1] par tab[1]
    ouai mais ca marche pas comme ca. Il replace chaque correspondance. tu pourrais boucler sur tes tableau et faire un str_replace unique mais ca sera pareil pour les autres valeurs, si tu veux remplacer (par exemple) 65 par 1024, lorsque qu'il va trouver 1065 il va faire 101024

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 82
    Par défaut
    Oui Merci

    C'est pour cela que j'ai posté .....Afin de trouver une solution pour réaliser le fonctionnement désiré

    Merci

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par flo73 Voir le message
    Oui Merci

    C'est pour cela que j'ai posté .....Afin de trouver une solution pour réaliser le fonctionnement désiré

    Merci
    bon déjà pour manipuler du xml c'est avec SimpleXML
    si tu veux changer tes id, (attribut ou noeud ?), tu peux faire une requete xpath, qui va tous les récupères, a partir de ce moment la vue que tes clefs ne sont pas unique, il va falloir a chaque fois qu'il trouve l'id suprimer la clef correspondante, donc va falloir bien mettre ton tableau dans l'ordre ou les clefs apparaissent

    t'as un mini exemple (mini tableau de correspondance et mini fichier xml) ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Insérer un str_replace
    Par cybernetique dans le forum Langage
    Réponses: 4
    Dernier message: 18/01/2008, 20h01
  2. [Tableaux] probleme avec str_replace
    Par cflo91 dans le forum Langage
    Réponses: 4
    Dernier message: 03/07/2007, 16h02
  3. [Tableaux] problème avec str_replace en boucle
    Par kev2259 dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2007, 16h46
  4. [Tableaux] simplifier fonction str_replace
    Par nicerico dans le forum Langage
    Réponses: 7
    Dernier message: 04/12/2006, 15h45
  5. [Tableaux] Fonction str_replace et les accents
    Par GarGamel55 dans le forum Langage
    Réponses: 5
    Dernier message: 18/02/2006, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo