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 :

array : créer un tableau associatif à la volée


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 array : créer un tableau associatif à la volée
    Bonjour,

    je tente de créer un tableau associatif à la volée en listant tous les fichiers images .jpg d'un dossier.

    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
    $chemin = "/home/monsite/www/dossier/images/" ;
    if($dh=opendir($chemin))
    {
     
        while (($file=readdir($dh)) !== false)
    	{
     
            if (
    				// SI LE FICHIER EST UN JPG
    				substr($file,-4,4)==".jpg" 
     
    			)
    		{
    			$array_images[]=$file ; // FONCTIONNE EN TABLEAU  INDEXE PAS ASSOCIATIF
    		}
        }
     
    	sort($array_images) ;
    	print_r ($array_images) ;
    }
    J'obtiens :
    Array ( [0] => image_001.jpg [1] => image_002.jpg [2] => image_003.jpg )
    Alors que je cherche à avoir un tableau du type
    Array ( ['../images/image_001.jpg'] => image_001.jpg ['../images/image_002.jpg'] => image_002.jpg ['../images/image_003.jpg'] => image_003.jpg )
    afin de passer le tout à un SELECT dans un formulaire

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $array_images[$chemin. '/' . $file]=$file ;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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
    Ben ça marche pô !

    J'ai toujours des index numériques :

    Array ( [0] => image_001.jpg [1] => image_002.jpg [2] => image_003.jpg )

  4. #4
    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
    Touchez plus rien !
    J'ai la solution :

    C'est la ligne sort($array_images) qui met le bazard !
    Le fait de trier de cette manière transforme mon array associatif en array indexé.

    Il faut remplacer par

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

Discussions similaires

  1. [PHP 5.1] Créer un tableau associatif dynamique
    Par rolls dans le forum Langage
    Réponses: 9
    Dernier message: 04/05/2012, 11h10
  2. Réponses: 4
    Dernier message: 19/05/2010, 12h06
  3. Créer un tableau associatif
    Par leFred dans le forum Langage
    Réponses: 34
    Dernier message: 27/02/2009, 12h10
  4. [Tableaux] Tableau associatif avec des array
    Par Piccolo_son dans le forum Langage
    Réponses: 6
    Dernier message: 18/12/2007, 08h23
  5. [D7] Tableau associatif (hash, associative array)?
    Par fredtheman dans le forum Delphi
    Réponses: 3
    Dernier message: 21/06/2006, 18h42

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