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 :

Ajouter une chaine de caractères à un tableau


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Ajouter une chaine de caractères à un tableau
    salut à tous,s'il vous plait je veux que vous m'aider à la realisation d'un programme qui me permet d'inserer une chaine à la valeur qui correspond à un index determiné d'un tableau voila un exemple:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $tableau=array(1,2,3);
    foreach($tableau as $index=>$valeur)
    {
    echo $index ."=".$valeur;
    }

    cet exemple va afficher :
    0=1
    1=2
    2=3

    alors je veux ajouter la chaine "deux" à la valeur qui correspond à l'index 1 pour obtenir le resultat suivante:
    1=2 deux
    s'il vous plait aidez moi

    et merci d'avance

    1=

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    $tableau=array(1,2,3,4,5,6,7,8,9);
    foreach($tableau as $index=>$valeur)
    {
    switch($valeur)
    {
    case 0:
    echo $index ."=".$valeur." zéro <br />";
    break;
    case 1:
    echo $index ."=".$valeur." un <br />";
    break;
    case 2:
    echo $index ."=".$valeur." deux <br />";
    break;
    case 3:
    echo $index ."=".$valeur." trois <br />";
    break;
    case 4:
    echo $index ."=".$valeur." quatre <br />";
    break;
    case 5:
    echo $index ."=".$valeur." cinq <br />";
    break;
    case 6:
    echo $index ."=".$valeur." six <br />";
    break;
    case 7:
    echo $index ."=".$valeur." sept <br />";
    break;
    case 8:
    echo $index ."=".$valeur." huit <br />";
    break;
    case 9:
    echo $index ."=".$valeur." neuf <br />";
    break;
    }
    }
    -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
    Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
    Pensez également à cocher

    Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

    Dimension Internet

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 18
    Points : 10
    Points
    10
    Par défaut

    Merci pour votre reponse
    ce que je veux dans mon programme c'est d'ajouter une chaine à un index bien precis dans le tableau (je veux dire :à la valeur correspondant à cet index )
    je souhaite être clair dans ma question

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    je souhaite être clair dans ma question
    C'est pas le cas
    -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
    Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
    Pensez également à cocher

    Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

    Dimension Internet

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par blueice Voir le message
    C'est pas le cas
    je sais pas comment je pourrais etre claire
    mais je vais essayer:
    j'ai un tableau sous forme d_index et valeur comme ceci:
    exemple:
    0:bonjour
    1:salut
    2:merci

    je veux savoir s'il y'a une fonction qui permet d'ajouter une chaine à une valeur de tableau en lui precisant l'index de cette valeur
    si je suis pas clair je vais mourir

  6. #6
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    tu peux simplement faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau[1] .= ' deux';
    Ce qui est un raccourci de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau[1] = $tableau[1] . ' deux';

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    [QUOTE=Eusebe;3749591]Bonjour,

    tu peux simplement faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau[1] .= ' deux';
    merci
    s'il vous plait regardez bien mon code pour comprendre que je veux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    preg_match_all($reg,$chaine,$match,preg_set_order)
     
    foreach($match as $index=>$valeur)
    {
    echo $index." ".$valeur;
    }
    si je fais comme vous m'avez dit
    je doit faire
    $match[$i].="chaine";

    je l'ai fait mais lorsque je mets echo $match[$i]
    il m'affiche arraychaine
    c'est à dire array + la chaine ajoutée
    est ce que je doit pas faire quelque chose comme preg_replace ou preg_add
    j'espere trouver une réponse chez vous

  8. #8
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Je ne vois pas ce que viennent faire là des expressions régulières

    Si tu nous disais précisément ce que tu voulais faire (données de départ, transformation, données à obtenir), peut être que l'on pourrait mieux t'aider...

    Ne sachant pas ce que tu veux faire avec ton preg_match_all, je ne peux pas te dire si une autre fonction serait plus adaptée...

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Je ne vois pas ce que viennent faire là des expressions régulières
    ..
    Bon je veux chercher dans un fichier l'existence de quelques mots
    je le fait par preg_match_all
    je visualise le resultat dans un tableau sous forme d'index et valeur
    je veux ajouter un mot à une valeur de ce tableau
    comment je peux le faire ?
    je crois que je suis clair cette fois ci
    merci

  10. #10
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Avec preg_set_order, $matches[0] contient les résultats correspondant au pattern, $matches[1] contient les données de la première parenthèse capturante du pattern, etc...

    Donc si tu veux afficher les données correspondant au pattern, il faut faire (ajout de l'index 0 au tableau $match) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($match[0] as $index=>$valeur)
    {
        echo $index." ".$valeur;
    }
    Et si tu veux ajouter du texte au deuxième élément trouvé, il faut que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // l'index du deuxième élément correspondant au pattern est 1
    $match[0][1] .= ' texte à concaténer';
     
    foreach($match[0] as $index=>$valeur)
    {
        echo $index." ".$valeur;
    }

  11. #11
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($match[0] as $index=>$valeur)
    {
        echo $index." ".$valeur;
    }
    Merci infiniment pour votre réponse vous m'avez montrer le chemin mais il y'a quelque chose qui cloche donc si j'ai pas tort vous avez donner la definition de preg_pattern_order à preg_set order.

    pour
    PREG_PATTERN_ORDER
    L'ordre est tel que $matches[0] est un tableau qui contient les résultats qui satisfont le masque complet, $matches[1] est un tableau qui contient les résultats qui satisfont la première parenthèse capturante, etc.
    PREG_SET_ORDER
    Les résultats sont classés de telle façon que $matches[0] contient la première série de résultats, $matches[1] contient la deuxième, etc
    et pour le resultat :
    rien n'est ajouté que si je mets echo alors il m'affiche arraytexteàconcatener
    comme ceci
    0 : i
    1 : i
    2 : i
    3 : i
    Arraytexte a concatener

    je compte toujours sur vous pour m'aider
    merci d'avance

Discussions similaires

  1. Ajouter une chaine de caractère dans toutes les lignes d'un fichier
    Par kromei dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 19/03/2013, 13h34
  2. Réponses: 2
    Dernier message: 08/02/2013, 17h21
  3. [Toutes versions] Ajouter une chaine de caractère à la fin d'une autre chaine
    Par esstin dans le forum Excel
    Réponses: 2
    Dernier message: 02/05/2009, 15h54
  4. utilisation de SED pour ajouter une chaine de caractère en début de texte
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 11/03/2008, 09h12
  5. Convertir une chaine de caractère en tableau
    Par Mysti¢ dans le forum Général Python
    Réponses: 7
    Dernier message: 09/04/2007, 12h20

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