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 de tableaux malgré moi ?


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut [Tableaux] Tableau de tableaux malgré moi ?
    Bonjour,

    je tente de manipuler des infos issues de tableaux.
    Par des itérations (while...) je remplis un tableau $photo de valeurs.
    Mon pb est qu'à chaque itération, je crée, sans le vouloir, un nouveau tableau qui ajoute les infos du premier dans le second et ainsi de suite.

    Voilà ce que me retourne print_r ($photo) après deux boucles

    Array ( [0] => cer_001.jpg ) Array ( [0] => car_001.jpg [1] => car_005.jpg [2] => cer_001.jpg )

    En fait, dans le second tableau, 2] => cer_001.jpg n'a rien à faire car il vient du premier tableau.

    Comment faire pour éviter cette suite de tableaux ?

  2. #2
    Membre régulier Avatar de NiHiL
    Inscrit en
    Juin 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 101
    Points : 108
    Points
    108
    Par défaut
    Fais péter le code robert. Sinon a vu de nez je sens que t'as oublié "[]" dans tes affectations.

  3. #3
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Je viens de supprimer une commande tri dans mon tableau :
    array_multisort($tri,SORT_ASC);
    elle était responsable de l'ajout des valeurs de la première itération dans la seconde.
    Mais je génère quand même une liste de tableaux...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Comment faire pour éviter cette suite de tableaux ?
    Si Mme Soleil est dans le coin, qu'elle veuille bien se manifester.
    Autrement dit, sans code, je ne pense pas que quelqu'un puisse te renseigner.

  5. #5
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Citation Envoyé par NiHiL
    Fais péter le code robert. Sinon a vu de nez je sens que t'as oublié "[]" dans tes affectations.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    // RECHERCHE LA PREMIERE IMAGE DU REPERTOIRE VIGNETTES
    $chemin = "flash/" .  $id  . "/vignettes/" ;//Répertoire de la recherche
    if (is_dir ($chemin))
    	{
    		if( !($dir = opendir($chemin)))//Ouverture du répertoire
    			{
    				echo "Erreur d'ouverture du répertoire";
    			}
    		while ($f = readdir($dir))//Lecture des fichiers
    		{
    			if(is_file($chemin."/".$f))//Si la valeur est un fichier
    			{
    				if(eregi("^(.*).jpg", $f))//Si .jpg
    				{
    					$filename = explode(".", $f);//Supression de l'extension
    					$tri[]=$filename[0];//Stockage pour un tri futur
    				}
    			}
    		}
    		closedir($dir);//Fermeture du répertoire
    		//@array_multisort($tri,SORT_ASC);//Classement selon la taille ou le NOM ?
     
    		while( @list(,$file) = each($tri) )//Affichage et/ou comptage
    			{
    				$cette_photo = $file. ".jpg" ;
    				$photo[] = $cette_photo ;
    			}
    	}
     
     print_r ($photo) ;
     
    ?>
    Voilà le code.
    Si je le mets dans une boucle while(), il donne une suite de tableaux.

  6. #6
    Membre régulier Avatar de NiHiL
    Inscrit en
    Juin 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 101
    Points : 108
    Points
    108
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    array_multisort($tri,SORT_ASC, SORT_STRING, $tri);

  7. #7
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Merci pour cette piste.

    Le système de tri fonctionne, mais au 2° coup, il fusionne le tableau 1 dans le tableau 2. Ce qui est inutile et fait qu'en fonction du nom des éléments, c'est un élément du tableau 1 qui prend la tête du tableau 2.
    Et ça me prend la tête aussi à moi...

  8. #8
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Je viens de faire sauter la fonction array_multisort() et j'ai ajouté $photo = NULL ; avant la boucle : ça marche.
    Je ne sais pas pourquoi, mais ça marche.

    Merci de votre aide !

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

Discussions similaires

  1. [Tableaux] tableau
    Par illegalsene dans le forum Langage
    Réponses: 6
    Dernier message: 28/10/2005, 19h02
  2. [Tableaux] Tableau associatif
    Par anzar dans le forum Langage
    Réponses: 3
    Dernier message: 24/10/2005, 11h17
  3. [Tableaux] Tableau compter récurence
    Par toflofr dans le forum Langage
    Réponses: 8
    Dernier message: 05/10/2005, 13h54
  4. [Tableaux] Tableau et resolution de l'ecran
    Par BK dans le forum Langage
    Réponses: 8
    Dernier message: 01/10/2005, 00h18
  5. [Tableaux] tableau dans un formulaire
    Par Elo13 dans le forum Langage
    Réponses: 4
    Dernier message: 26/09/2005, 17h28

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