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 :

tri alphabètique d'un tableau


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 29
    Points : 25
    Points
    25
    Par défaut tri alphabètique d'un tableau
    Bonjour à tous,

    je suis en train de faire une fonction pour pouvoir lister des dossiers avec des images.
    En utilisant la fonction dir, je génère un tableau contenant mon arborescence.
    Mais le problème est que la fonction dir me donne un résultat désordonné.

    Comment puis je classer mon tableau de manière alphabétique.

    Concrètement j'aimerais trier la première dimension de mon tableau (soit les dossiers sources). J'ai déjà essayé avec la fonction array_multisort mais je n'arrive pas à bien l'utiliser.

    mon tableau ressemble à ça :
    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
    34
    35
      [Mind range pricehouse] => Array
            (
                [part 2] => Array
                    (
                        [0] => thumbnails
                        [1] => images
                        [2] => albumThumbnail.jpg
                    )
     
                [Living room] => Array
                    (
                        [0] => thumbnails
                        [1] => images
                        [2] => albumThumbnail.jpg
                    )
     
            )
     
        [Residential mixed projects] => Array
            (
                [Part 1] => Array
                    (
                        [0] => thumbnails
                        [1] => images
                        [2] => albumThumbnail.jpg
                    )
     
                [Part 2] => Array
                    (
                        [0] => thumbnails
                        [1] => images
                        [2] => albumThumbnail.jpg
                    )
     
            )

    Merci de votre aide

  2. #2
    Membre du Club Avatar de spin0us
    Profil pro
    Inscrit en
    Février 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 87
    Points : 64
    Points
    64
    Par défaut
    Pourquoi tu n'utilises pas la fonction scandir ?
    Membre actif de la Pouy@geTe@m.

  3. #3
    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
    Tu as des exemples dans la documentation de la fonction, tu as juste a reproduire.
    Si tu ne t'en sors toujours pas, montre nous le code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    merci pour la fonction, je suis en train d essaier de l'adapter a ma fonction de listage, mais je galère a bien l'utiliser :/

    voici mon code:

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    function dirlist($position)
    	{
    	$dir_nom = $position; // dossier listé (pour lister le répertoir courant : $dir_nom = '.'  --> ('point')
    	$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
    	$fichier= array(); // on déclare le tableau contenant le nom des fichiers
    	$dossier= array(); // on déclare le tableau contenant le nom des dossiers
    	$tab= array(); // on déclare le tableau contenant le nom des dossiers
     
    	//echo "$dir_nom <p> +1";
     
    	while($element1 = readdir($dir)) {
    		if($element1 != '.' && $element1 != '..' && $element1 != 'Thumbs.db') {
    			//echo $element1."+2\n";
    			$tab[$element1] = array();
    			$dir2= dir("$dir_nom/$element1");
    			while (($element2 = $dir2->read()) !== false) {
    				if($element2 != '.' && $element2 != '..' && $element2 != 'Thumbs.db') 
    					{
    					//echo $element2."+3\n";
    					$tab[$element1][$element2]=array();
    					$dir3= dir("$dir_nom/$element1/$element2");
    					while (($file = $dir3->read()) !== false) {
    						if($file != '.' && $file != '..' && $file != 'Thumbs.db') 
    							{
    							//echo $file."+4\n";
    							$tab[$element1][$element2][]=$file;
    							}
    						}
    					$dir3->close();
    					}
    				}
    			$dir2->close();
    		}
    	}
    	closedir($dir);
     
    	//print_r($tab);
     
    	//usort($tab[], "strcasecmp");
    	//array_multisort($tab, SORT_ASC, SORT_STRING};
    	//var_dump($tab);
     
    	return $tab;
    	}

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    merci pour la fonction, cela m a changé la vie

    probleme resolu

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    function dirlist($position)
    	{
    	$dir_nom = $position; // dossier listé (pour lister le répertoir courant : $dir_nom = '.'  --> ('point')
    	$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
    	$fichier= array(); // on déclare le tableau contenant le nom des fichiers
    	$dossier= array(); // on déclare le tableau contenant le nom des dossiers
    	$tab= array(); // on déclare le tableau contenant le nom des dossiers
     
    	//echo "$dir_nom <p> +1";
     
    	while($element1 = readdir($dir)) {
    		if($element1 != '.' && $element1 != '..' && $element1 != 'Thumbs.db') {
    			//echo $element1."+2\n";
    			$tab[$element1] = array();
    			$dir2= dir("$dir_nom/$element1");
    			while (($element2 = $dir2->read()) !== false) {
    				if($element2 != '.' && $element2 != '..' && $element2 != 'Thumbs.db') 
    					{
    					//echo $element2."+3\n";
    					$tab[$element1][$element2]=array();
    					$dir3= dir("$dir_nom/$element1/$element2");
    					while (($file = $dir3->read()) !== false) {
    						if($file != '.' && $file != '..' && $file != 'Thumbs.db') 
    							{
    							//echo $file."+4\n";
    							$tab[$element1][$element2][]=$file;
    							}
    						}
    					$dir3->close();
    					}
    				}
    			$dir2->close();
    		}
    	}
    	closedir($dir);
     
    	//print_r($tab);
     
    	//usort($tab[], "strcasecmp");
    	//array_multisort($tab, SORT_ASC, SORT_STRING};
    	//var_dump($tab);
     
    	return $tab;
    	}

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/01/2012, 11h24
  2. tri alphabétique d'un tableau de noms
    Par aiimen dans le forum Débuter
    Réponses: 4
    Dernier message: 13/03/2010, 11h55
  3. Juste pour le fun - Tri alphabétique d'un tableau()
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 23/05/2008, 19h43
  4. Réponses: 4
    Dernier message: 31/07/2007, 14h34
  5. tri alphabétique dans un tableau deux dimensions
    Par *!!cocco!!* dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 06/12/2004, 21h38

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