Cara Mengisih Tatasusunan Berbilang Dimensi dalam PHP
Mengisih tatasusunan mengikut kunci tertentu ialah tugas biasa dalam pengaturcaraan. Dalam PHP, anda telah menyediakan sampel tatasusunan berbilang dimensi dan menyatakan keperluan untuk mengisihnya berdasarkan nilai cap waktu unix yang disimpan dalam elemen x.
Untuk mencapai ini, PHP menawarkan fungsi usort, yang membolehkan anda untuk mengisih tatasusunan menggunakan fungsi perbandingan yang ditentukan pengguna. Dalam kes ini, kita perlu mentakrifkan fungsi yang membandingkan dua elemen tatasusunan berdasarkan kekunci yang ditentukan.
Begini cara anda boleh mentakrifkan fungsi perbandingan:
<code class="php">function compare($x, $y) { if ($x[4] == $y[4]) { return 0; } elseif ($x[4] < $y[4]) { return -1; } else { return 1; } }</code>
Fungsi ini akan membandingkan nilai cap waktu unix untuk dua tatasusunan input dan kembalikan -1 jika cap masa tatasusunan pertama adalah kurang daripada cap masa tatasusunan kedua, 0 jika mereka sama dan 1 jika cap masa tatasusunan pertama lebih besar daripada cap masa tatasusunan kedua.
Setelah fungsi perbandingan ditakrifkan, anda boleh menggunakannya dengan usort untuk mengisih tatasusunan seperti berikut:
<code class="php">usort($nameOfArray, 'compare');</code>
Ini akan mengisih $nameOfArray berdasarkan nilai cap waktu unix yang disimpan dalam elemen x, mengatur elemen dalam tertib menaik secara lalai. Anda boleh membalikkan susunan isihan dengan menghantar versi diubah suai fungsi perbandingan sebagai hujah kedua kepada usort.
Atas ialah kandungan terperinci Bagaimana untuk Menyusun Array Multidimensi oleh Unix Timestamp dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!