Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Isih Fail dengan Cekap mengikut Tarikh Terakhir Diubah Suai dalam PHP Menggunakan glob()?

Bagaimanakah Saya Boleh Isih Fail dengan Cekap mengikut Tarikh Terakhir Diubah Suai dalam PHP Menggunakan glob()?

Barbara Streisand
Barbara Streisandasal
2024-12-04 21:35:19655semak imbas

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

Isih Fail mengikut Tarikh Terakhir Diubah Suai Menggunakan Fungsi glob()

Fungsi glob() ialah fungsi PHP yang berkuasa untuk memadankan fail dengan corak yang diberi. Apabila digabungkan dengan pengisihan, ia menyediakan cara yang cekap untuk menyusun fail berdasarkan kriteria tertentu.

Masalah

Jika anda perlu memaparkan tatasusunan fail yang dipesan mengikut terakhirnya setem masa tarikh yang diubah suai, pendekatan biasa adalah untuk mengulang tatasusunan dan menyusunnya secara manual ke dalam tatasusunan baharu. Walau bagaimanapun, kaedah ini boleh memakan masa dan tidak cekap.

Penyelesaian

PHP menawarkan penyelesaian yang lebih cekap menggunakan fungsi usort(). Fungsi ini memerlukan dua hujah: tatasusunan untuk diisih dan fungsi perbandingan yang menentukan susunan unsur.

Kod berikut menunjukkan cara menggunakan usort() dalam kombinasi dengan glob() untuk mengisih tatasusunan fail dengan cop tarikh masa terakhir diubah suai mereka:

<?php

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

?>

Penjelasan

Fungsi glob() mengembalikan tatasusunan fail yang sepadan dengan corak ".". Fungsi usort() kemudiannya digunakan pada tatasusunan.

Fungsi perbandingan yang diberikan kepada usort() menggunakan fungsi filemtime() untuk mengekstrak cap masa pengubahsuaian setiap fail dan menolaknya untuk menentukan susunan. Hasil pengiraan ini digunakan untuk mengisih tatasusunan dalam tertib menaik atau menurun berdasarkan setem masa tarikh terakhir diubah suai.

Nota

Fungsi pembantu create_function() yang digunakan dalam kod yang disediakan ditamatkan dalam PHP 7.2.0. Kaedah alternatif untuk mentakrifkan fungsi tanpa nama dalam PHP termasuk fungsi lambda atau sintaks penutupan. Contohnya:

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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Fail dengan Cekap mengikut Tarikh Terakhir Diubah Suai dalam PHP Menggunakan glob()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn