Tableau associatif

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tableau associatif

par Moker » 30 nov. 2005, 13:39

merci beaucoup à vous deux !! :wink:

je me suis compliqué la vie c'est bien plus simple comme ca j'aurait du trouver tout seul :oops:

merci aussi pour les explications, je connais maintenant la difference entre un tableau indexé et un tableau associatif :)

par zeus » 30 nov. 2005, 11:42

Hannnnn!, il dit des choses zeus :langue:
Je me suis dit que comme ça, il s'en souviendrait ;)

par Cyrano » 29 nov. 2005, 18:49

Hannnnn!, il dit des choses zeus :langue:

Bon allez, je me sens bon, on va même simplifier:
$curdir = "./gallerie";

$dir = opendir($curdir);
/* On déclare la variable $rep en tableau */
$rep = array();
while($p = readdir($dir))
{
    if(is_dir($curdir."/".$p) && ($p != ".") && ($p != ".."))
    {
        /* On ajoute le nom du répertoire à la suite des autres, l'incrémentation de l'index est automatique */
        $rep[] = $p;
    }
}
closedir($dir);
MAIS ! Ça, c'est pas un tableau associatif mais un tableau indexé ; si tu veux un tableau associatif, il faut des index nommés. Tu pourrais bien avoir le nom de chacun de tes dossiers en index de $rep... mais tu mettras quoi comme valeur dedans ?

par zeus » 29 nov. 2005, 17:34

c'est normal, à chaque dossier, tu écrase le contenu de ton tableau rep pour le remplacer par le nouveau contenu

Si tu veux ajouter une case de clé $id et de valeur $p dans ton tableau, il faut faire
$rep[$id] = $p
De plus, je me suis permis de revoir ton identation qui était, excuse moi, un peu merdique
$curdir = "./gallerie";

$dir = opendir($curdir);
$id = 0;

while($p = readdir($dir)) {
	if(is_dir($curdir."/".$p) && ($p != ".") && ($p != "..")) {
		$id++;
		$rep[$id] = $p;
	}
}
closedir($dir);

Tableau associatif

par Moker » 29 nov. 2005, 17:30

Bonjour,

je voudrait recuperer des noms de dossiers dans un tableau associatif.
malheureusement mon script ne recupere que le dernier dossier trouvé :(

ce script le voici :
$curdir = "./gallerie";

$dir = opendir($curdir);
$id = 0;

while($p = readdir($dir))
	{
	if(is_dir($curdir."/".$p) && ($p != ".") && ($p != ".."))
		{
		$id++;
		$rep = array($id => $p);
		}
	}
closedir($dir);
foreach($rep as $id=>$valeur) 
    { 
    echo $id.' : '.$valeur.'<br>'; 
    }
normalement php devrait me retourner :

1:dossier n°1
2:dossier n°2
.....
5:dossier n°5

mais il me retourne seulement :

5:dossier n°5

pourriez vous me dire ou est mon erreur?

merci beaucoup