2011-10-10 180 views
12

如何通过文件名反转排序?目前它按字母/数字顺序显示所有文本文件,但我试图让它以降序显示。现在,我有...glob() - 按名称排序

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

我是很新,PHP,但我想用usort加入阵列上,但只是导致它仅显示文本文件1,所以无论是那并不是”或者我只是把它编错了。

+1

反向排序函数会是'rsort()',但需要一个单独的语句和一个临时数组变量。 – mario

+0

我遇到了一些感知字母排序问题,但潜在的问题是,lowercased字母比uppercased更高的ascii值。像myphoto1.jpg这样的文件名在myPhoto2.jpg之后返回,因为大写字母P. –

回答

19

您可以使用array_reverse

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

usort()做会的方式......

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

CodePad