Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Isih Tatasusunan Fail Globbed dengan Cekap mengikut Tarikh Terakhir Diubah Suai dalam PHP?

Bagaimanakah Saya Boleh Isih Tatasusunan Fail Globbed dengan Cekap mengikut Tarikh Terakhir Diubah Suai dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-11-30 09:47:10453semak imbas

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

Susun Susun Fail Diisih Secara Global mengikut Setem Tarikh Terakhir Diubahsuai

Mengisih fail berdasarkan setem tarikh masa terakhir diubah suai adalah tugas biasa apabila mengurus dan mengatur sistem fail. Fungsi glob() menyediakan kaedah pantas untuk mendapatkan semula fail yang sepadan dengan corak yang ditentukan, tetapi bagaimana jika anda ingin mengisih lagi tatasusunan yang terhasil mengikut tarikh?

Pendekatan Isih Tersuai

Satu pendekatan adalah untuk melelar melalui tatasusunan awal dan mencipta tatasusunan baharu dengan fail yang diisih. Walaupun ini berfungsi, ia boleh menjadi tidak cekap untuk tatasusunan yang lebih besar. Kaedah yang lebih cekap wujud.

Menggunakan Fungsi Usort

PHP menawarkan fungsi usort(), yang mengisih tatasusunan menggunakan fungsi perbandingan yang ditentukan pengguna. Ini membolehkan anda menentukan cara elemen harus dibandingkan dan disusun. Dalam kes kami, kami boleh menggunakan filemtime() untuk mendapatkan cap waktu terakhir yang diubah suai untuk setiap elemen dan kemudian mengisih tatasusunan berdasarkan cap masa ini.

Coretan kod berikut menunjukkan cara mengisih tatasusunan fail mengikut pengubahsuaian terakhir cop datetime menggunakan 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

Perhatikan bahawa pendekatan ini memerlukan PHP versi 5.3 atau lebih baru, kerana create_function() ialah ditamatkan dalam PHP 7.2.0 dan ke atas. Jika anda menggunakan versi PHP yang lebih lama, anda masih boleh mencapai kefungsian yang sama menggunakan fungsi tanpa nama atau penutupan.

Dengan menggunakan usort() dan filemtime(), anda boleh mengisih tatasusunan fail dengan cekap mengikut mereka. cop tarikh masa terakhir diubah suai, menyediakan senarai fail yang lebih teratur dan boleh diurus.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Tatasusunan Fail Globbed dengan Cekap mengikut Tarikh Terakhir Diubah Suai dalam PHP?. 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