首頁 > 後端開發 > php教程 > 如何在 PHP 中使用 glob() 以上次修改日期對檔案進行有效排序?

如何在 PHP 中使用 glob() 以上次修改日期對檔案進行有效排序?

Barbara Streisand
發布: 2024-12-04 21:35:19
原創
651 人瀏覽過

How Can I Efficiently Sort Files by Last Modified Date in PHP Using glob()?

使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板