2011-10-10 725 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