Penyortiran array PHP sebenarnya adalah pengurutan array PHP. Pada artikel ini, pengurutan kumpulan hasil dari kueri database. Hasil query database terkadang tidak dapat digunakan secara langsung, seperti hasil yang diperoleh dengan menggunakan pernyataan in di mysql, sehingga hasilnya perlu diurutkan dalam beberapa cara. Saat ini, Anda perlu mengurutkan array PHP. Untuk mengurutkan hasil database, lihat contoh berikut:
Dalam contoh ini, setiap sel dalam array data mewakili satu baris dalam tabel. Ini adalah cara khas database untuk menyimpan data array.
Data pada contohnya adalah sebagai berikut:
volume |.edisi
-------+--------
67 |.2
86 |.1
85 |.6
98 |.2
86 |.6
67 |.7Semua
data disimpan dalam array bernama data. Ini biasanya merupakan hasil yang diperoleh dari database melalui loop, seperti mysql_fetch_assoc() (sebenarnya, Anda dapat menganggap fungsi ini sama dengan fungsi mysql_fetch_assoc(). Untuk perbedaan spesifik, Anda dapat membaca perbedaan kunci di panduan PHP).
$data[] = array('volume' => 67, 'edisi' => 2);
$data[] = array('volume' => 86, 'edisi' => 1);
$data[] = array('volume' => 85, 'edisi' => 6);
$data[] = array('volume' => 98, 'edisi' => 2);
$data[] = array('volume' => 86, 'edisi' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
Dalam contoh ini, volume akan diurutkan dalam urutan menurun dan edisi akan diurutkan dalam urutan menaik.
Sekarang Anda memiliki array dengan baris, tetapi array_multisort() memerlukan array dengan kolom, jadi gunakan kode berikut untuk mendapatkan kolom dan kemudian mengurutkannya.
// Dapatkan daftar kolom
foreach ($data sebagai $kunci => $baris) {
$volume[$kunci] = $baris['volume'];
$edisi[$kunci] = $baris['edisi'];
}
// Susun data dalam urutan menurun menurut volume dan dalam urutan menaik menurut edisi
// Gunakan $data sebagai parameter terakhir, urutkan berdasarkan kunci umum
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
Pengumpulan data sekarang sudah diurutkan, dan hasilnya sebagai berikut:
volume |.edisi
-------+--------
98 |.2
86 |.1
86 |.6
85 |.6
67 |.2
67 |.7
Sebenarnya ada banyak metode yang bisa digunakan saat melakukan pengurutan, seperti arsort(), asort(), ksort(), krsort(), natsort(), natcasesort(), rsort yang disertakan dengan array array PHP .(), usort(), array_multisort() dan uksort().