Saya memiliki array seperti:
Array
(
[0] => Array
(
[id] => 2
[type] => comment
[text] => hey
[datetime] => 2010-05-15 11:29:45
)
[1] => Array
(
[id] => 3
[type] => status
[text] => oi
[datetime] => 2010-05-26 15:59:53
)
[2] => Array
(
[id] => 4
[type] => status
[text] => yeww
[datetime] => 2010-05-26 16:04:24
)
)
Adakah yang bisa menyarankan cara untuk mengurutkan / memesan ini berdasarkan elemen datetime?
$a
dan$b
akan menahan array di dalamnya$array
. Pastikan Anda tidak salah mengeja nama fungsi.usort($array, array($this, "date_compare"))
jadiusort()
itu adalah fungsi / metode kelas. Lihat juga: php.net/manual/en/…Ini seharusnya berhasil. Saya mengubah tanggal menjadi waktu unix melalui strtotime.
Versi satu baris akan menggunakan beberapa metode array:
sumber
Dari php7 Anda dapat menggunakan operator Spaceship :
sumber
http://us2.php.net/manual/en/function.array-multisort.php lihat contoh ketiga:
fyi, menggunakan unix (detik dari 1970) atau cap waktu mysql (YmdHis - 20100526014500) akan lebih mudah untuk parser tetapi saya pikir dalam kasus Anda tidak ada bedanya.
sumber
Menyortir array record / assoc_arrays berdasarkan bidang waktu mysql yang ditentukan dan berdasarkan urutan:
sumber
str_to_upper
menjadistrtoupper
.sumber
Anda cukup memecahkan masalah ini menggunakan usort () dengan fungsi callback. Tidak perlu menulis fungsi kustom apa pun.
sumber
Saya menemukan posting ini tetapi saya ingin mengurutkan berdasarkan waktu ketika mengembalikan item di dalam kelas saya dan saya mendapat kesalahan.
Jadi saya meneliti situs web php.net dan akhirnya melakukan ini:
Anda dapat menemukan contoh yang sangat berguna di situs web PHP.net
Array saya terlihat seperti ini:
sumber
Untuk
'd/m/Y'
tanggal:dimana
$i
indeks arraysumber
Bagi mereka yang masih mencari pemecahannya dengan cara ini di dalam kelas dengan fungsi sortByDate, lihat kode di bawah ini
sumber