Pertimbangkan tatasusunan dengan struktur yang serupa dengan yang di bawah:
$array = [ [ 'id' => 2, 'type' => 'comment', 'text' => 'hey', 'datetime' => '2010-05-15 11:29:45', ], [ 'id' => 3, 'type' => 'status', 'text' => 'oi', 'datetime' => '2010-05-26 15:59:53', ], [ 'id' => 4, 'type' => 'status', 'text' => 'yeww', 'datetime' => '2010-05-26 16:04:24', ], ];
Bagaimana kita boleh susun tatasusunan ini mengikut elemen 'datetime'?
Fungsi usort() PHP mengambil tatasusunan dan fungsi perbandingan yang menentukan susunan unsur. Kita boleh mencipta fungsi perbandingan tersuai yang dipanggil date_compare seperti berikut:
function date_compare($a, $b) { $t1 = strtotime($a['datetime']); $t2 = strtotime($b['datetime']); return $t1 - $t2; }
Fungsi ini mengekstrak cap waktu UNIX untuk medan 'datetime' bagi setiap rekod dan mengembalikan perbezaan antaranya. Maklumat ini digunakan oleh usort() untuk mengisih tatasusunan.
Akhir sekali, kita boleh menggunakan fungsi isihan pada tatasusunan menggunakan usort():
usort($array, 'date_compare');
Ini akan mengisih tatasusunan dalam tertib menaik berdasarkan elemen 'masa tarikh'.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan PHP Berbilang Dimensi mengikut Elemen Datetime?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!