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 :

parser une chaine avec des point virgule


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 252
    Points : 85
    Points
    85
    Par défaut parser une chaine avec des point virgule
    bonjour a tous,

    j'ai une chaine qui se presente comme suit: {MAR; ROSE; NI} je voudrais obtenir un tableau t=[MAR, ROSE, NI].
    Comment puis je proceder svp?

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    salut,
    Si tu es sûr que l'accolade ne sera jamais dans les chaines a recuperer, alors tu peux utiliser str_replace pour rechercher les accolades et les remplacer par une chaine vide, puis utiliser split pour casser ta chaine aux point-virgules et renvoyer le résultat dans un tableau
    Z.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 252
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Zwiter Voir le message
    salut,
    Si tu es sûr que l'accolade ne sera jamais dans les chaines a recuperer, alors tu peux utiliser str_replace pour rechercher les accolades et les remplacer par une chaine vide, puis utiliser split pour casser ta chaine aux point-virgules et renvoyer le résultat dans un tableau
    Z.
    oui je suis sure que l'accolade ne sera jamais dans la chaine a recuperer. merci je vais essayer d'utiliser les deux fonctions proposer et je vous dirais ce que ca donne.

    merci bcp.

  4. #4
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Points : 1 057
    Points
    1 057
    Par défaut
    Salut,

    je ne vois pas l'intéret d'utiliser str_replace dans ce cas là...
    A mon avis, un simple substr serait bien plus optimisé.

    A tester, mais à mon avis, on ne verra pas la différence

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 252
    Points : 85
    Points
    85
    Par défaut
    salut
    j'ai ecrit ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $value="{MAR; ROSE; BONBON; NI}";
    $val1=str_replace("{", "",$value);
    $val=str_replace("}", "",$val1);
    echo $val;
    $final_value=array();
    $final_value[]=split(';',$val);
     
    foreach ($final_value as $v){
    	echo "$v <br />\n";
    }
    ?>
    mais voila ce que j'obtiens comme resultat:

    Array
    pourquoi est ce que le terme Array apparait? et kel est le probleme dans ce que j'ai ecrit?

    Merci

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 252
    Points : 85
    Points
    85
    Par défaut
    je pense que j'ai trouve la solution en faisant ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $value="{MAR; ROSE; BONBON; NI}";
    $val1=str_replace("{", "",$value);
    $val=str_replace("}", "",$val1);
     
    //$final_value=array();
    $final_value=explode(';',$val);
     
    foreach ($final_value as $v){
    	echo "$v <br />\n";
    }
    ?>
    et le resultat est bien celui que je voulais:

    MAR
    ROSE
    BONBON
    NI

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

Discussions similaires

  1. [AC-2003] Formater une chaine avec des arguments
    Par Papy214 dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/09/2009, 16h35
  2. dessiner une ligne avec des point de coordonnées doubles
    Par tanguy.L dans le forum Débuter
    Réponses: 2
    Dernier message: 11/11/2008, 23h16
  3. une courbe avec des points
    Par Lost in dans le forum MATLAB
    Réponses: 3
    Dernier message: 17/03/2008, 17h48
  4. [Débutant] Scinder une chaine avec des points
    Par poiwalt dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 06/07/2007, 20h09
  5. [VB.NET] Compléter une chaine avec des espaces
    Par Lois dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/03/2005, 09h09

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