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 :

[Tableaux] tableau multidimensionnel [Débutant(e)]


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut [Tableaux] tableau multidimensionnel
    Bonjour,

    en php, créer des tableaux, et y ajouter des éléments est très facile.
    Si facile que j'ai l'impression de tout pouvoir faire...
    sauf que du coup je m'y perds.

    exemple: si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $monTableau[1][1] = "1_1";
    $monTableau[1][2] = "1_2";
     
    $monTableau[2][1] = "2_1";
    $monTableau[2][2] = "2_2";
    $monTableau[2][3] = "2_3";
    $monTableau[2][4] = "2_4";
    ça ne pose aucun problème. j'ai un tableau a deux dimensions, "la premiere ligne contient 2 colonnes, et la 2eme ligne en contient 4". ça marche.
    J'arrive a acceder aux éléments de mon tableau sans problème.

    Maintenant voila, imaginons que je veuille connaître les tailles de mon tableau. comment faire? je peux utiliser count()? et si oui, comment?

    Ou plus précisément, je sais qu'il y a 2 lignes, mais je ne sais pas combien de colonnes j'ai dans chaque ligne. comment le savoir?. Existe-t'il un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //connaître le nombre de colonnes de la ligne 1:
    count($monTableau[1])
    //connaître le nombre de colonnes de la ligne 2:
    count($monTableau[2])
    jusqu'à présent je fais une sorte de boucle comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    for($ligne=0;$ligne<2;$ligne++)
    {
      $col=0;
      while(isset $monTableau[$ligne][$col])
      {
        col++
      }
      //ici je connais le nombre de colonnes pour la ligne courante
    }
    voila. Je suis ouvert à toutes propositions.
    Merci.

    Si c'est carrément une hérésie d'avoir un tableau dont chaque ligne a un nombre de colonnes différentes, comment faire?
    En gros, j'ai une liste de questions et une liste de réponses. Mais chaque questions a plusieurs réponses possibles (un nombre différent pour chaque questions)
    donc j'ai deux tableaux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mesQuestions[$question_num]
    $mesReponses[$question_num][$reponse_num]
    et c'est le tableau $mesReponses qui a un nombre différent de colonnes pour chaque ligne, puisqu'à chaque question peut correspondre un nombre de réponse différent.

    Merci!

  2. #2
    Membre averti Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Points : 325
    Points
    325
    Par défaut
    bonjour,

    et count($monTableau, COUNT_RECURSIVE);

    http://fr.php.net/manual/fr/function.count.php

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Ce n'est pas une hérésie d'avoir un tableau dont le nombre de lignes et de colonnes sont variables, si tu l'envisages par exemple comme une liste chainée

    Pour la réponse à ta question je crains que le count récursif ne correspondra pas si jamais tu veux connaitre le nombre de réponses pour chaque question.
    Il te faudra tester ligne à ligne avec un count($tableau[$taligne])

  4. #4
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par ratapapa
    Pour la réponse à ta question je crains que le count récursif ne correspondra pas si jamais tu veux connaitre le nombre de réponses pour chaque question.
    en effet, ça ne marche pas pour ce que je veux faire
    Citation Envoyé par ratapapa
    Il te faudra tester ligne à ligne avec un count($tableau[$taligne])
    c'est exactement ce qui me fallait. testé et approuvé


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

Discussions similaires

  1. [Tableaux] Tableau multidimensionnel associatif
    Par Anne1969 dans le forum Langage
    Réponses: 12
    Dernier message: 20/02/2007, 14h51
  2. [Tableaux] trie d'un tableau multidimensionnel
    Par dede64 dans le forum Langage
    Réponses: 1
    Dernier message: 02/11/2006, 11h20
  3. [Tableaux] Tableau Multidimensionnel
    Par Captain_futur dans le forum Langage
    Réponses: 3
    Dernier message: 09/12/2005, 21h37
  4. Réponses: 2
    Dernier message: 08/12/2005, 14h41
  5. Réponses: 2
    Dernier message: 27/11/2005, 23h36

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