Home > Backend Development > PHP Tutorial > How Can I Efficiently Sort Files by Last Modified Date in PHP Using glob()?

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

Barbara Streisand
Release: 2024-12-04 21:35:19
Original
663 people have browsed it

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

Sorting Files by Last Modified Datetime Using glob() Function

The glob() function is a powerful PHP function for matching files against a given pattern. When combined with sorting, it provides an efficient way to organize files based on specific criteria.

Problem

If you need to display an array of files ordered by their last modified datetime stamp, a common approach is to loop through the array and manually sort them into a new array. However, this method can be time-consuming and inefficient.

Solution

PHP offers a more efficient solution using the usort() function. This function takes two arguments: an array to be sorted and a comparison function that determines the order of elements.

The following code demonstrates how to use usort() in combination with glob() to sort an array of files by their last modified datetime stamp:

<?php

$myarray = glob("*.*");
usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);'));

?>
Copy after login

Explanation

The glob() function returns an array of files matching the pattern ".". The usort() function is then applied to the array.

The comparison function provided to usort() uses the filemtime() function to extract the modification timestamps of each file and subtracts them to determine the order. The result of this calculation is used to sort the array in ascending or descending order based on the last modified datetime stamp.

Note

The create_function() helper function used in the provided code is deprecated in PHP 7.2.0. Alternative methods for defining anonymous functions in PHP include lambda functions or closure syntax. For instance:

usort($myarray, function ($a, $b) {
    return filemtime($a) - filemtime($b);
});
Copy after login

The above is the detailed content of How Can I Efficiently Sort Files by Last Modified Date in PHP Using glob()?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template