2011-10-10 25 views
12

¿Cómo puedo revertir el orden por nombre de archivo? Actualmente muestra todos los archivos de texto en orden alfabético/numérico, pero estoy tratando de que se muestre en orden descendente. En este momento, no tengo ...glob() - Ordenar por nombre

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

estoy bastante nuevo en PHP, pero he intentado usort con arreglo añadido el pero eso resultó en que se presentan sólo 1 de los archivos de texto, así que o Eso no t trabajo o simplemente lo he codificado mal.

+1

La función de ordenación inversa sería 'rsort()' pero necesita ser una instrucción separada con una variable de matriz temporal. – mario

+0

Me topé con un problema de clasificación alfabético percibido, pero el problema subyacente es que las letras en minúscula tienen valores de ascii más altos que las palabras en mayúscula. Se devuelve un nombre de archivo como myphoto1.jpg después de myPhoto2.jpg debido a la P. mayúscula. –

Respuesta

19

Puede utilizar array_reverse:

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

La manera de hacerlo con usort() sería ...

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

CodePad.