Maison > développement back-end > tutoriel php > Comment puis-je trier efficacement un tableau de fichiers globalisé par date/heure de dernière modification en PHP ?

Comment puis-je trier efficacement un tableau de fichiers globalisé par date/heure de dernière modification en PHP ?

Barbara Streisand
Libérer: 2024-11-30 09:47:10
original
511 Les gens l'ont consulté

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

Tableaux de fichiers triés globalement par horodatage de la dernière modification

Le tri des fichiers en fonction de leur horodatage de la dernière modification est une tâche courante lors de la gestion et de l'organisation systèmes de fichiers. La fonction glob() fournit une méthode rapide pour récupérer les fichiers correspondant à un modèle spécifié, mais que se passe-t-il si vous souhaitez trier davantage le tableau résultant par date ?

Approche de tri personnalisée

Une approche consiste à parcourir le tableau initial et à créer un nouveau tableau avec les fichiers triés. Bien que cela fonctionne, cela peut s'avérer inefficace pour les tableaux plus grands. Une méthode plus efficace existe.

Utilisation de la fonction Usort

PHP propose la fonction usort(), qui trie un tableau à l'aide d'une fonction de comparaison définie par l'utilisateur. Cela vous permet de spécifier comment les éléments doivent être comparés et ordonnés. Dans notre cas, nous pouvons utiliser filemtime() pour récupérer l'horodatage de la dernière modification pour chaque élément, puis trier le tableau en fonction de ces horodatages.

L'extrait de code suivant montre comment trier un tableau de fichiers en fonction de la dernière modification. datetime stamp using 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
Copier après la connexion

Notez que cette approche nécessite PHP version 5.3 ou ultérieure, car create_function() est obsolète en PHP 7.2.0 et supérieur. Si vous utilisez une ancienne version de PHP, vous pouvez toujours obtenir des fonctionnalités similaires en utilisant une fonction anonyme ou une fermeture.

En utilisant usort() et filemtime(), vous pouvez trier efficacement un tableau de fichiers selon leur horodatage de la dernière modification, fournissant une liste de fichiers plus organisée et plus gérable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal