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 :

Créer un tableau à deux dimensions dynamique


Sujet :

Langage PHP

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Points : 410
    Points
    410
    Par défaut Créer un tableau à deux dimensions dynamique
    Bonjour,

    je souhaiterais lors de l'imbrication de deux boucles while avoir lors de la première, mon tableau à 1 dimension qui se remplit, et dans la foulée, la 2e dimension remplie avec le second while, c'est pas très clair, alors voici un exemple ;

    Mon tableau final serait l'équivalent de ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $tab=array(
       1=>array(1,2,3),
       2=>array(4,5,6),
       ...
    )
    Et moi j'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $tab=array();
    while($ligne=mysql_fetch_array($req)){
     
       array_push($tab,$ligne[id]); //1ère dimension
     
       while($ligne2=mysql_fetch_array($req2)){
          array_push($tab[ligne['id'], $ligne2['id']);
       }
     
    }
    et d'autres trucs, mais en vain. j'ai du mal à voir la procédure

    edit : je viens de tester ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $tab=array();
    while($ligne=mysql_fetch_array($req)){
    
       array_push($tab,$ligne[id]); //1ère dimension
    
          $tab[$ligne['id']]=array();
       while($ligne2=mysql_fetch_array($req2)){
          array_push($tab[ligne['id'], $ligne2['id']);
       }
    
    }
    on dirait que ça fonctionne comme ça (déclarant la 2e dimension avant)

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour explication :
    Citation Envoyé par php.net
    Note: array_push() émettra une alerte si le premier argument n'est pas un tableau. Ceci diffère du comportement de $var[] où un nouveau tableau est créé.
    En gros, il faut systématiquement initialiser la variable sur laquelle tu fais le push comme étant un tableau.

  3. #3
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Points : 410
    Points
    410
    Par défaut
    Merci

    c'est vrai que j'aurais dû lire la doc au lieu d'essayer dans tous les sens. merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/06/2011, 15h27
  2. Comment créer et parcourir un tableau à deux dimensions en java SE
    Par Invité dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 25/02/2009, 12h07
  3. Réponses: 27
    Dernier message: 19/04/2006, 18h58
  4. Passage d'un tableau à deux dimensions
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 20/10/2003, 15h50
  5. Réponses: 23
    Dernier message: 21/08/2003, 08h16

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