Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich ein globbtes Dateiarray effizient nach Datum und Uhrzeit der letzten Änderung in PHP sortieren?
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!