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.
Partager