Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich ein globbtes Dateiarray effizient nach Datum und Uhrzeit der letzten Änderung in PHP sortieren?

Wie kann ich ein globbtes Dateiarray effizient nach Datum und Uhrzeit der letzten Änderung in PHP sortieren?

Barbara Streisand
Barbara StreisandOriginal
2024-11-30 09:47:10444Durchsuche

How Can I Efficiently Sort a Globbed File Array by Last Modified Datetime in PHP?

Global sortierte Dateiarrays nach Datums-/Uhrzeitstempel der letzten Änderung

Das Sortieren von Dateien nach ihrem Datums- und Uhrzeitstempel der letzten Änderung ist eine häufige Aufgabe bei der Verwaltung und Organisation Dateisysteme. Die Funktion glob() bietet eine schnelle Methode zum Abrufen von Dateien, die einem bestimmten Muster entsprechen. Was aber, wenn Sie das resultierende Array weiter nach Datum sortieren möchten?

Benutzerdefinierter Sortieransatz

Ein Ansatz besteht darin, das anfängliche Array zu durchlaufen und ein neues Array mit den sortierten Dateien zu erstellen. Dies funktioniert zwar, kann jedoch bei größeren Arrays ineffizient sein. Es gibt eine effizientere Methode.

Verwendung der Usort-Funktion

PHP bietet die Funktion usort(), die ein Array mithilfe einer benutzerdefinierten Vergleichsfunktion sortiert. Dadurch können Sie festlegen, wie die Elemente verglichen und geordnet werden sollen. In unserem Fall können wir filemtime() verwenden, um den Zeitstempel der letzten Änderung für jedes Element abzurufen und dann das Array basierend auf diesen Zeitstempeln zu sortieren.

Der folgende Codeausschnitt zeigt, wie ein Array von Dateien nach der letzten Änderung sortiert wird Datum/Uhrzeit-Stempel mit usort():

// Retrieve an array of files using glob()
$myarray = glob("*.*");

// Define a comparison function for usort()
$compare = function($a, $b) {
    return filemtime($a) - filemtime($b);
};

// Sort the array using usort()
usort($myarray, $compare);

// Now the $myarray contains files sorted by last modified timestamp

Beachten Sie, dass dieser Ansatz PHP Version 5.3 oder höher erfordert, da create_function() in PHP veraltet ist 7.2.0 und höher. Wenn Sie eine ältere Version von PHP verwenden, können Sie mit einer anonymen Funktion oder einem Abschluss immer noch eine ähnliche Funktionalität erreichen.

Durch die Verwendung von usort() und filemtime() können Sie ein Array von Dateien effizient nach ihrer Größe sortieren Datums-/Uhrzeitstempel der letzten Änderung, der eine besser organisierte und verwaltbare Dateiliste bietet.

Das obige ist der detaillierte Inhalt vonWie kann ich ein globbtes Dateiarray effizient nach Datum und Uhrzeit der letzten Änderung in PHP sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn