使用glob() 函數以上次修改日期時間對檔案進行排序
glob() 函數是一個強大的PHP 函數,用於將文件與給定的模式。與排序結合使用時,它提供了一種根據特定條件組織文件的有效方法。
問題
如果您需要顯示按最後排序的檔案數組修改日期時間戳,常見的方法是循環遍歷數組並手動將它們排序到新數組中。然而,這種方法可能既耗時又低效。
解
PHP 使用 usort() 函數提供了更有效率的解。此函數有兩個參數:一個要排序的陣列和一個確定元素順序的比較函數。
以下程式碼示範如何使用usort() 與glob() 結合對檔案陣列進行排序以最後修改的日期時間戳記:
<?php $myarray = glob("*.*"); usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);')); ?>
解釋
glob()函數傳回與模式「.」相符的檔案陣列。然後將 usort() 函數應用於陣列。
提供給 usort() 的比較函數使用 filemtime() 函數提取每個檔案的修改時間戳記並減去它們以確定順序。此計算的結果用於根據上次修改的日期時間戳對數組進行升序或降序排序。
注意
使用的 create_function() 輔助函數所提供的程式碼中的內容在 PHP 7.2.0 中已棄用。在 PHP 中定義匿名函數的替代方法包括 lambda 函數或閉包語法。例如:
usort($myarray, function ($a, $b) { return filemtime($a) - filemtime($b); });
以上是如何在 PHP 中使用 glob() 以上次修改日期對檔案進行有效排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!