2011-10-10 3 views
12

Comment puis-je inverser le tri par nom de fichier? Actuellement, il affiche tous les fichiers texte dans l'ordre alphabétique/numérique, mais j'essaie de l'afficher dans l'ordre décroissant à la place. En ce moment, je ...glob() - Trier par Nom

<?php 
foreach (glob("*.txt") as $filename) { 
    include($filename); 
} 
?> 

Je suis assez nouveau pour PHP, mais j'ai essayé usort avec tableau ajouté sur mais seulement il a donné lieu à afficher seulement 1 des fichiers texte, de sorte que ce soit n » t travail ou je l'ai juste codé mal.

+1

La fonction de tri inverse serait 'rsort()' mais nécessite une instruction be distinct avec une variable de tableau temporaire. – mario

+0

J'ai rencontré un certain problème de tri alphabétique, mais le problème sous-jacent est que les lettres minuscules ont des valeurs ASCII plus élevées que les lettres majuscules. Un nom de fichier comme myphoto1.jpg est renvoyé après myPhoto2.jpg à cause de la capitale P. –

Répondre

19

Vous pouvez utiliser array_reverse:

foreach(array_reverse(glob("*.txt")) as $filename) { ... 
2

La façon de le faire avec usort() serait ...

usort($files, function($a, $b) { 
    return strcmp($b, $a); 
}); 

CodePad.

Questions connexes