Untuk mengurutkan array asosiatif berdasarkan nilai sambil tetap menjaga kuncinya, gunakan asort(). Ini sempurna untuk membuat papan peringkat atau leaderboard. Artikel ini membahas cara mengurutkan array asosiatif berdasarkan nilai di PHP.
Fungsi asort()
<?php $nilai = ["Budi" => 80, "Ani" => 95, "Cici" => 70]; asort($nilai); print_r($nilai); // Cici => 70, Budi => 80, Ani => 95 ?>
Contoh Kasus: Papan Peringkat (Skor Tertinggi Dulu)
<?php
$skor = ["Budi" => 80, "Ani" => 95, "Cici" => 70];
arsort($skor); // urut nilai menurun
$rank = 1;
foreach ($skor as $nama => $poin) {
echo "$rank. $nama - $poin poin<br>";
$rank++;
}
// 1. Ani - 95, 2. Budi - 80, 3. Cici - 70
?>
arsort() mengurutkan nilai dari besar ke kecil — persis yang dibutuhkan leaderboard.
Perbedaan sort, asort, ksort
sort(): urut nilai, kunci direset (untuk array biasa).asort(): urut nilai, kunci dipertahankan.ksort(): urut kunci, nilai mengikuti.
Kesimpulan
Gunakan asort() untuk mengurutkan berdasarkan nilai (naik) dan arsort() untuk menurun, sempurna untuk membuat papan peringkat dengan nama peserta tetap menempel pada skornya.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

