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 :

Parcours de tableau associatif


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut Parcours de tableau associatif
    Bonjour,

    J'aimerais parcourir un tableau associatif, j'arrive bien à parcourir les tableau de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $tab = array("val"=>"la valeur");
     
    foreach($tab as $cle =>$valeur){
        echo $cle.' : '.$valeur;
    }
    Mais la j'aimerais parcourir un tableau qui est de cette forme la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $tab = array("val" => array("val1" => "la valeur 1", "val2" => "la valeur 2"));
    en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach($tab as $cle =>$valeur){
        echo $cle.' : '.$valeur;
    }
    Il m'affiche :

    Ce qui est normal, j'ai essayé d'imbriqué deux foreach (on sait jamais...) mais cela ne fonctionne pas. Pourriez vous m'aider.

    Merci d'avance.
    MacBook Pro 15"
    "La pensée nous permet de rêver, le rêve de vivre".
    My WebSite

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton premier tableau est déjà un tableau associatif.

    Sinon il faut effectivement imbriquer deux foreach :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach($tab as $cle =>$valeur){
       if (is_array($valeur)) {
            foreach ($valeur as $key=>$value) {
               echo $key.' : '.$value;
            }
       }
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    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
    Citation Envoyé par kanabzh29 Voir le message
    Ce qui est normal, j'ai essayé d'imbriqué deux foreach (on sait jamais...) mais cela ne fonctionne pas. Pourriez vous m'aider.

    Merci d'avance.
    Il faut bien imbriquer deux foreach. Montres-nous ton essai et on te dira ce qui ne va pas

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut
    Non bas en fait oui, ça marche, je vais pas vous dire comment j'avais imbriquer les deux foreach car sinon je vais être banni du forum...

    Donc le code qui marche est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach($arr as $cle => $valeur){
    	foreach($valeur as $nextCle => $nextVal){
    		echo $cle, ' : ', $nextCle ,' : ', $nextVal ,'<br/>';
    	}
    }
    Par contre, je n'arrive pas a prendre juste le "val1" du tableau pour chaque passage.
    MacBook Pro 15"
    "La pensée nous permet de rêver, le rêve de vivre".
    My WebSite

  5. #5
    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
    Citation Envoyé par kanabzh29 Voir le message
    Par contre, je n'arrive pas a prendre juste le "val1" du tableau pour chaque passage.
    Si tu ne veux les données que d'une clé, rien ne sert de faire deux foreach :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($arr as $cle => $valeur){
    	echo $cle . ' : val1 : ' . $valeur['val1'] . '<br/>';
    }

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut
    A vi tout de suite c'est plus simple
    MacBook Pro 15"
    "La pensée nous permet de rêver, le rêve de vivre".
    My WebSite

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

Discussions similaires

  1. [PHP 5.2] Parcours tableau associatif
    Par Nemesis007 dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2009, 15h02
  2. [MySQL] parcours de tableau associatif export csv
    Par littlebouda dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/12/2007, 17h16
  3. [Tableaux] Parcours tableau associatif
    Par damien27000 dans le forum Langage
    Réponses: 2
    Dernier message: 03/10/2007, 15h33
  4. [langage] TRI TABLEAU ASSOCIATIF
    Par proner dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2003, 16h38
  5. [langage] Réinitialiser un tableau associatif.
    Par totox17 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2003, 16h29

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