Mengakses Nilai Berdasarkan Kunci
Termasuk bagian Dasar-Dasar dalam perjalanan PHP di Coddy. Pelajaran 42 dari 71.
Sekarang setelah kamu memahami apa itu array asosiatif, mari pelajari cara mengambil nilai darinya. Sama seperti array berindeks yang menggunakan posisi numerik, array asosiatif menggunakan kunci di dalam tanda kurung siku.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
echo $person["name"]; // Alice
echo $person["age"]; // 25
?>Sintaksnya adalah $array["key"]: letakkan kunci sebagai string di dalam tanda kurung siku, dan PHP mengembalikan nilai terkait. Ini jauh lebih mudah dibaca daripada mengingat bahwa nama berada pada indeks 0.
Kamu juga bisa menyimpan nilai yang diperoleh dalam variabel untuk digunakan nanti:
<?php
$product = [
"title" => "Laptop",
"price" => 999
];
$itemName = $product["title"];
echo $itemName; // Laptop
?>Kunci harus sama persis, termasuk kapitalisasi. Menggunakan "Name" alih-alih "name" akan menyebabkan error karena PHP memperlakukannya sebagai kunci yang berbeda.
Terkadang data tiba sebagai string JSON, bukan sebagai literal array PHP. JSON (JavaScript Object Notation) adalah format teks umum untuk merepresentasikan data terstruktur. Contohnya:
$json = '{"title": "Dune", "author": "Frank Herbert", "year": 1965}';Fungsi bawaan PHP json_decode() mengonversi string JSON menjadi nilai PHP. Untuk mendapatkan array asosiatif, berikan true sebagai argumen kedua:
<?php
$json = '{"title": "Dune", "author": "Frank Herbert", "year": 1965}';
$book = json_decode($json, true);
echo $book["title"]; // Dune
echo $book["author"]; // Frank Herbert
echo $book["year"]; // 1965
?>Setelah memanggil json_decode($json, true), hasilnya adalah array asosiatif biasa dan kamu dapat mengakses nilainya dengan cara yang sama seperti array asosiatif lainnya: menggunakan $array["key"].
Tantangan
MudahBaca satu baris input yang berisi object JSON yang merepresentasikan informasi sebuah buku (misalnya, {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}).
Lalu baca dua input lagi:
- string
key1yang merepresentasikan key pertama yang akan diakses - string
key2yang merepresentasikan key kedua yang akan diakses
Untuk mengonversi string JSON menjadi associative array, gunakan fungsi bawaan json_decode() dengan true sebagai argumen kedua:
$array = json_decode($jsonString, true);
Argumen kedua true memberi tahu PHP untuk mengembalikan associative array, bukan object. Setelah didekode, kamu dapat mengakses nilai berdasarkan key seperti pada associative array lainnya, misalnya $array["title"].
Buat associative array dari input JSON, lalu:
- Akses dan cetak nilai yang terkait dengan
key1 - Simpan nilai yang terkait dengan
key2dalam variabel bernama$info - Cetak nilai yang disimpan dalam
$info
Cetak setiap hasil pada baris terpisah.
Contoh:
Jika inputnya adalah {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}, title, dan author, outputnya seharusnya:
The Great Gatsby
F. Scott FitzgeraldJika inputnya adalah {"name": "Laptop", "brand": "TechCo", "price": 999}, brand, dan price, outputnya seharusnya:
TechCo
999Coba sendiri
<?php
// Baca input JSON
$jsonInput = trim(fgets(STDIN));
// Baca kedua key
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
// TODO: Tulis kodemu di bawah ini
// 1. Buat array asosiatif dari input JSON menggunakan json_decode
// 2. Akses dan cetak nilai yang terkait dengan $key1
// 3. Simpan nilai yang terkait dengan $key2 dalam variabel bernama $info
// 4. Cetak nilai yang tersimpan dalam $info
?>Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Perbandingan & Logika
Operator PerbandinganKesamaan & IdentitasOperator Logika Bagian 1Operator Logika Bagian 2Rangkuman: Logika Sederhana7array Bagian 2: Asosiatif
Pengantar array AsosiatifMengakses Nilai Berdasarkan KunciMengubah Nilai Berdasarkan KunciMenambahkan Pasangan Kunci-Nilai BaruMemeriksa Apakah Kunci AdaRingkasan: Penyimpanan Data Kunci-Nilai2Variabel dan Tipe Data
AngkaString dan Tanda KutipBooleanKonvensi PenamaanRangkuman, Inisialisasi VariabelVariabel KosongPenggabungan stringMengambil input PenggunaKonversi ke Tipe Data Lain5Logika Percabangan
Pernyataan ifIf-elseOperator ternaryOperator koalesensi nullPernyataan switchRangkuman: Membuat Keputusan3Operator Dasar
Operator AritmetikaOperator ModuloOperator PangkatPenugasan GabunganInkrementasi/DekrementasiPrioritas OperatorUlasan: Perhitungan SederhanaOperator stringLatihan sendiri: Compiler PHP online