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] Déclaration tableau multidimension


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 53
    Points : 44
    Points
    44
    Par défaut [Tableaux] Déclaration tableau multidimension
    Bonjour,

    Nouveau sur ce forum, j'ai une question à laquelle je ne trouve pas de solution malgré le nombre important de sujet semblable sur le net.

    Je souhaite lire une arborescence et mettre tous les repertoires dans un tableau à deux dimensions $repertoire[nom_rep_parent][nom_rep]. Je recopie ensuite ce tableau dans une variable javascript pour une lecture dynamique sans rechargement de page. Mais il semble que la gestion des tableaux en Javascript soit plus simple qu'en php...

    Pour un tableau 1 dimension $repertoire[nom_rep_parent-nom_rep] pas de soucis :

    Je déclare ma variable avant d'apeller la fonction :

    array($repertoire);
    lecture_repertoire("");

    Puis je fait une fonction récursive dans laquelle j'appelle ma variable :

    function lecture_repertoire($nom_repertoire)
    {
    global $repertoire;
    ...

    un preg_split sur la valeur du tableau pour la séparer est faisable, mais le tableau 2 dimensions me semble plus propre.

    Par contre je n'arrive pas à savoir comment déclarer un tableau à plusieurs dimension du type : array(array($repertoire))

    J'ai cru comprendre qu'en php après avoir déclarer un tableau à 1 dimension, $repertoire[] devient une variable que l'on peut déclarer en array genre :

    array($repertoire);
    array($repertoire[]);

    mais cela semble fonctionner (quoique) que si l'on affecte une valleur a la première dimension :

    array($repertoire[0]);

    ou

    $repertoire[0]=array();

    mais mon soucis est que je ne connais pas à l'avance la dimension du tableau.

    J'ai fais quelques essais avec un tableau de dimension 10 avec une boucle :

    $repertoire=array();
    for($i=0;$i<10;$i++) $repertoire[$i]=array();

    puis

    for($i=0;$i<10;$i++) global $repertoire[$i]; dans la fonction sans succès.

    Je n'ai rien trouvé de très clair la dessus, alors si quelqu'un sait comment ça marche... et comment cela est-il géré en mémoire dans le cas d'un nombre inconnu de dimensions.

    Olivier.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    Salut !
    Je n'ai pas bien compris où se situe ton pb, ni pourquoi tu veux un tableau à deux dimensions (une ou n, pourquoi pas, mais deux ?).
    En tout cas il faut savoir qu'en PHP les tableaux n'ont pas de dimension à proprement parler, chaque élément pouvant être d'un type quelconque.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 53
    Points : 44
    Points
    44
    Par défaut
    Vi effectivement j'ai surement dit une connerie... Après avoir sortit la tête de l'eau et roupillé un peu, un simple array($tableau) fonctionne... Désolé. Je n'ai pas encore compris ce qui merdait, mais j'ai la nuit devant moi . En tout cas rien que de mettre les choses noir sur blanc sur ce forum ça aide .

    Merci,

    Olivier.

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

Discussions similaires

  1. [Tableaux] Déclaration d'un tableau dans une classe
    Par rochenico dans le forum Langage
    Réponses: 4
    Dernier message: 22/12/2006, 11h29
  2. [Tableaux] Tableau multidimension dans mysql
    Par wkd dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2006, 16h33
  3. [Tableaux] Recherche dans un tableau multidimension
    Par licorne dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2006, 15h46
  4. [Tableaux] créer un tableau multidimension
    Par zimotep dans le forum Langage
    Réponses: 2
    Dernier message: 18/03/2006, 17h18
  5. [Tableaux] Déclaration d'un tableau à 2 dimensions
    Par kcizth dans le forum Langage
    Réponses: 5
    Dernier message: 04/01/2006, 15h35

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