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.
Tantangan
MudahKamu 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);
?>Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Fungsi Lanjutan
Fungsi AnonimClosure dan 'use'Fungsi PanahFungsi CallbackMenggunakan 'call_user_func'Fungsi VariabelMengirim dengan ReferensiFungsi RekursifUlasan: Ragam Fungsi4Array Multidimensi
Membuat array 2DMengakses Elemen array 2DMengubah Elemen array 2DMelakukan Perulangan dengan loop Bersarangarray Asosiatif 2DRekap: Latihan Kisi Sederhana2Manipulasi array Lanjutan
Menambahkan dengan 'array_push'Menghapus dengan 'array_pop'Menambahkan dengan 'array_unshift'Menghapus dengan 'array_shift'Menggabungkan array berindeksMenggabungkan array asosiatifMengambil bagian dengan 'array_slice'Nilai dengan 'in_array'Kunci dengan 'array_search'Rekap: Latihan playlist3Mengurutkan array
Urutkan array berindeks secara menaikUrutkan array berindeks secara menurunUrutkan assoc array berdasarkan nilaiUrutkan assoc array berdasarkan kunciPengurutan urutan alamiPengurutan khusus dengan 'usort'Rangkuman: Pengurutan papan peringkatLatihan sendiri: Compiler PHP online