Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Mengisih Tatasusunan Tarikh dengan Format Berbeza dalam PHP?

Bagaimana Mengisih Tatasusunan Tarikh dengan Format Berbeza dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-10-21 20:28:29181semak imbas

How to Sort Date Arrays with Different Formats in PHP?

Isih Tatasusunan Tarikh PHP

Mengisih tatasusunan tarikh dalam PHP boleh menjadi rumit, terutamanya jika tarikh tersebut tidak dalam format piawai.

Dalam kes khusus anda, anda mempunyai tatasusunan tarikh dalam format yang berbeza, seperti "11-01-2012" dan "01-01-2014". Menggunakan fungsi penyusun, yang mengisih tatasusunan mengikut nilai dalam tertib menaik, tidak akan berfungsi dalam kes ini kerana ia menganggap setiap tarikh sebagai rentetan dan mengabaikan hierarki tahun-bulan-hari.

Untuk mengisih tatasusunan anda dengan betul, anda boleh menggunakan fungsi pengisihan tersuai yang menukarkan setiap tarikh kepada format boleh diisih sebelum perbandingan.

Menukar Tarikh kepada Cap Masa UNIX

Satu kaedah mudah ialah menukar setiap tarikh kepada cap waktu UNIX menggunakan fungsi strtotime(). Cap masa UNIX mewakili tarikh sebagai bilangan saat sejak 1970-01-01, yang menjadikannya mudah untuk dibandingkan dan diisih.

Berikut ialah contoh menggunakan fungsi isihan tersuai untuk mengisih tarikh menggunakan cap masa UNIX:

<code class="php">usort($arr, function ($a, $b) {
    return strtotime($a) - strtotime($b);
});</code>

Fungsi ini akan mengambil dua tarikh sebagai input (diwakili oleh pembolehubah $a dan $b) dan mengembalikan perbezaan antara cap masa UNIX mereka. Tatasusunan yang terhasil akan diisih dalam susunan kronologi menaik.

Pertimbangan Tambahan

Adalah penting untuk ambil perhatian bahawa kaedah ini menganggap bahawa semua tarikh adalah dalam format yang sama. Jika tarikh anda datang daripada sumber yang berbeza atau menggunakan format tarikh yang berbeza, anda perlu menggunakan pustaka penghuraian tarikh dan penukaran yang lebih mantap.

Atas ialah kandungan terperinci Bagaimana Mengisih Tatasusunan Tarikh dengan Format Berbeza 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