Menu
CoddyTech

Urutkan assoc array berdasarkan kunci

Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 23 dari 68.

Meskipun mengurutkan berdasarkan nilai berguna, terkadang kamu perlu mengatur associative array berdasarkan key-nya. PHP menyediakan ksort() untuk urutan key menaik dan krsort() untuk urutan key menurun, keduanya tetap mempertahankan hubungan key-value yang penting.

Berikut cara ksort() mengurutkan array berdasarkan abjad menurut key-nya:

<?php
$settings = [
    "theme" => "dark",
    "language" => "english", 
    "notifications" => "enabled",
    "auto_save" => "on"
];

ksort($settings);
print_r($settings);
// Output: Array ( [auto_save] => on [language] => english [notifications] => enabled [theme] => dark )
?>

Perhatikan bahwa kunci sekarang berurutan secara alfabetis dari A sampai Z, sementara setiap nama pengaturan tetap dipasangkan dengan nilainya. Ini sangat berguna saat kamu ingin menampilkan opsi konfigurasi atau item menu secara teratur dan terorganisasi.

Untuk urutan alfabet terbalik, krsort() bekerja dengan cara yang serupa, tetapi mengurutkan kunci dari Z ke A. Kedua fungsi ini langsung mengubah array asli, seperti fungsi pengurutan PHP lainnya, sehingga efisien untuk menata data saat urutan kunci lebih penting daripada urutan nilai.

challenge icon

Tantangan

Mudah

Kamu akan menerima satu input: sebuah array asosiatif berisi nama departemen dan alokasi anggarannya dalam format JSON. Baca input, ubah string JSON menjadi array, gunakan ksort() untuk mengurutkan departemen berdasarkan key secara alfabetis dengan urutan menaik, lalu tampilkan array yang sudah diurutkan menggunakan print_r().

Format input: Satu baris yang berisi object JSON dengan nama departemen sebagai key dan jumlah anggaran sebagai nilai (contoh: {"Marketing":75000,"IT":120000,"HR":65000,"Finance":95000})

Output yang diharapkan: Array asosiatif yang diurutkan berdasarkan nama departemen (key) secara alfabetis dengan urutan menaik, ditampilkan menggunakan print_r()

Coba sendiri

<?php
// Baca input
$input = fgets(STDIN);

// Ubah JSON menjadi array
$departments = (array)json_decode($input, true);

// TODO: Tulis kodemu di bawah ini untuk mengurutkan array berdasarkan kunci


// Tampilkan hasilnya sebagai output
print_r($departments);
?>
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler PHP online