2010-12-30 19 views
6

¿Alguien puede decirme cómo ordenar una matriz que contenga nombres de archivo que comiencen con números? Debido a que las cadenas que comienzan con 11, 12, 13, etc son considerados inferiores a 2, es scewing mis resultados como este:PHP - ordenando una matriz de nombres de archivos con números?

 
[0] "1. File one.pdf" 
[1] "11. File eleven.pdf" 
[2] "12. File twelve.pdf" 
[3] "2. File two.pdf" 
[4] "3. File three.pdf" 

¿Hay algo que pueda hacer para ordenar éstos correctamente?

Respuesta

6

Puede usar natsort. o natcasesort, que no distingue entre mayúsculas y minúsculas. Si hay más de un número (es decir, signos diacríticos), debe asegurarse de usar el número locale.

Si no es suficiente, es decir. también desea ordenar los literales de los números ("uno", "dos", "tres"), puede usar usort, lo que le permite usar su devolución de llamada personalizada como función de comparación.

+0

perfecto! Gracias, y todos los demás que respondieron. – Tim

+0

¡Gracias! natsort hizo el trabajo! –

Cuestiones relacionadas