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 :

Tableau a DEUX dimensions


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Par défaut Tableau a DEUX dimensions
    Bonsoir,

    J'ai un tableau a DEUX dimension:

    Je voudrais savoir comment je pourrais le parcourir complètement. En particulier savoir comment on peut déterminer les limites (bornes) du tableau. Avec les tableau a 1 dimension on a la fonction count(), qui fonctionne très bien.

    Peut-être avec la syntaxe "for each" (c'est une syntaxe que je n'aime pas utiliser... mais j'y serai peut-être contraint) )? Je ne sais pas comment faire. Une idées ?

    Merci.

  2. #2
    Membre éclairé
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Par défaut
    J'ai trouvé ca sur php.net (à la rubrique for each)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach ($a as $v1) {
        foreach ($v1 as $v2) {
            echo "$v2\n";
        }
    }
    Ca marche très bien.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut

    La notion de "tableau a 2 entrées" n'existe pas en PHP, tout ce que tu fais c'est mettre des tableaux dans un tableau conteneur.

    Chaque tableau se parcourt donc de la même manière que tu fais d'habitude :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach($conteneur as $contenus) {
        foreach($contenus as $contenu) {
            echo $contenu;
        }
    }
    ou, si tu n'aimes pas foreach (je vois pas pourquoi, mais c'est ton choix) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for($i=0; $i<count($conteneur); $i++) {
        for($j=0; $j<count($conteneur[$i]); $j++) {
            echo $conteneur[$i][$j];
        }
    }

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    la boucle "foreach" est la plus pratique pour parcourir un tableau
    avec 2 dimensions ça donne ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach ($tableauDeuxDimensions as $index1 => $tab1) {
        foreach ($tab1 as $index2 => $valeur) {
            echo "[$index1][$index2] = $valeur<br/>";
        }
    }
    et si tu veux connaitre les index sans parcourir le tableau regarde la fonction http://php.net/array_keys

  5. #5
    Membre éclairé
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Par défaut
    OK, merci a vous torvalds17 et nosferapti, c'est ce que je cherchais. Mais comme je l'ai dis plus haut, avec for each ca marche impeccable en 3 malheureuses lignes de code.

    Pour torvalds17: La notion de tableau a double entré existe forcement, je l'ai fait dans le code ci-dessous ($TabResult[$i][$j]):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while ($tab_record=mysql_fetch_row($sql_query_result)) {
        $i++;
        for($j=0; $j<$FieldNumber; $j++) {
    	$TabResult[$i][$j]=$tab_record[$j];
         }
    }
    A nouveau merci.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/03/2006, 18h25
  2. Un string dans un tableau de deux dimensions...
    Par FinalSpirit dans le forum C++
    Réponses: 5
    Dernier message: 15/01/2006, 15h29
  3. [PERL] Trier un tableau a deux dimensions
    Par piregwan dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2005, 23h29
  4. Réponses: 6
    Dernier message: 26/11/2005, 20h55
  5. Réponses: 13
    Dernier message: 13/10/2005, 17h03

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