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] trier un tableau associatif


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Juillet 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Juillet 2006
    Messages : 56
    Points : 54
    Points
    54
    Par défaut [Tableaux] trier un tableau associatif
    Bonjour,

    j'affiche une liste de fichiers et je voudrais la trier selon l'extension des fichiers mais aussi que les fichiers apparaissent dans l'ordre alphabétique

    j'enregistre dans un tableau associatif le nom du fichier en clé et son extension en valeur
    pour le moment j'ai réussi gràce à
    asort($tab_file);
    à ranger selon les extensions mais les fichiers n'ont aucun ordre alphabétique

    merci d'avance de votre aide
    et de vos explications suffisament clair car je débute en PHP

    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
    /* explore la racine */
    $dir=".";
    $explore=opendir($dir);
    echo "<td valign='top' style='width:250px'>";
    $tab_dir= array();
    $tab_file= array();
    $tab_ext= array();
    while($affiche=readdir($explore)){
    if($affiche!="." && $affiche!=".."){
     if(!is_file($dir."/".$affiche)){
      $tab_dir[]="<a href='".$PHP_SELF."?dos1=".$affiche."'>".$affiche."</a><br />";
     }
     else{
      // enregistre le nom de fichier et son extension
      $monsplit=explode(".",$affiche);
      $tab_file[$affiche]=$monsplit[1];
     }
    }
    }
    for($i=0;$i<sizeof($tab_dir);$i++){
    echo "<img src=\"dir-close.gif\" />&nbsp;".$tab_dir[$i];
    }
     
    // trie les fichiers en fonction de leur extension
    asort($tab_file);
    while (list($key,$value) = each($tab_file)) {
    echo "<img src='".assocExtIma($value)."' alt='' />&nbsp;".$key."<br />";
    }
     
    echo "</td>";
    closedir($explore);
    /* fin de l'exploration de la racine */

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    si tu veux faire 2 tris (d'abord par extension puis par nom de fichier) a la maniere d'un ORDER BY champ1, champ2, tu peux utiliser :
    http://fr3.php.net/Fr/array_multisort

  3. #3
    Membre du Club
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Juillet 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Juillet 2006
    Messages : 56
    Points : 54
    Points
    54
    Par défaut
    merci je pense que cela peut être la solution
    mais j'ai un peu de mal à comprendre comment l'appliquer

  4. #4
    Membre du Club
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Juillet 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Juillet 2006
    Messages : 56
    Points : 54
    Points
    54
    Par défaut
    fladnag -> un grand merci

    j'ai mis cela à la place de mon asort

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach ($tab_file as $key => $row){
       $name[$key]  = $row['name'];
       $ext[$key] = $row['ext'];
    }
    array_multisort($ext, SORT_ASC, $name, SORT_ASC, $tab_file);

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

Discussions similaires

  1. [Tableaux] Trier un tableau associatif
    Par nass007 dans le forum Langage
    Réponses: 12
    Dernier message: 30/07/2008, 17h43
  2. [Tableaux] Trier un tableau multi-dimensionnel associatif
    Par Oprichnik dans le forum Langage
    Réponses: 9
    Dernier message: 27/07/2007, 23h16
  3. Réponses: 5
    Dernier message: 02/04/2007, 17h49
  4. [Tableaux] Trier un tableau [array]
    Par clemsouz dans le forum Langage
    Réponses: 2
    Dernier message: 15/05/2006, 13h33
  5. [Tableaux] Trier un tableau comme avec ORDER BY DESC
    Par Anduriel dans le forum Langage
    Réponses: 28
    Dernier message: 08/12/2005, 18h50

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