[Tableaux] Fonction de tri en PHP
Salut à tous,
J'ai un petit problème avec ma boucle php, elle lis les sous-dossiers d'un dossier sur mon serveur, mais je voudrais qu'elle puisse les trier par ordre décroissant. Je sais qu'il existe des fonctions native de php comme rsort(), krsort() ou arsort() mais je galère à l'intégrer à ma boucle. :roll:
Voici ma boucle :
Code:
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
|
$dir = "Mondossier/archives/";
$folder = opendir($dir);
while (false !== ($file = readdir($folder))) {
$files = array();
$files[]= $file;
$this->files=$files;
$this->folder=$folder;
// Affichage + traitement (afin d'avoir les dossiers dans l'ordre alphabetique
foreach($this->files as $key => $file){
if($file ==".." || $file =="." ) continue;
$recup_nom=explode(".",$file);
$fichier=$recup_nom[0];
$extension=$recup_nom[1];
krsort($fichier); /* ici la fonction de tri décroissant */
}
if($fichier!=$archive &&$file !=".." &&$file !=".") // $file : modif pour éviter l'apparition d'icone en trop
{
echo "<div id='icone'><a href='?dossier=$fichier'><b> $file</b></a></div><br />";
}
} |
J'ai comme l'impression qu'il ne calcule pas rsort() et l'appel du tableau $files pour pouvoir trier la variable $file :(
Quand je fait un test avec des valeurs en dur ça fonctionne parfaitement :
Ce code fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
$annee = array();
$annee [0]= "1992";
$annee [1]= "1996";
$annee [2]= "1999";
$annee [3]= "2006";
$annee [4]= "2007";
krsort($annee);
foreach ($annee as $key => $val) {
echo "$key = $val <br />";
} |
Voilà, si quelqu'un à une idée la dessus ça serais sympa :(