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 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 key sebagai string di dalam tanda kurung siku, lalu PHP mengembalikan nilai yang terkait. Ini jauh lebih mudah dibaca daripada mengingat bahwa namanya ada di indeks 0.
Kamu juga bisa menyimpan nilai yang diambil ke dalam variabel untuk digunakan nanti:
<?php
$product = [
"title" => "Laptop",
"price" => 999
];
$itemName = $product["title"];
echo $itemName; // Laptop
?>Key harus sama persis, termasuk penggunaan huruf kapital. Menggunakan "Name" alih-alih "name" merujuk pada key yang berbeda; PHP mengeluarkan peringatan "Undefined array key" dan ekspresinya bernilai null (program tidak mengalami crash).
Terkadang data tiba sebagai string JSON, bukan 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 persis seperti array asosiatif lainnya: menggunakan $array["key"].
Tantangan
MudahBaca satu baris input yang berisi objek JSON yang mewakili informasi buku (misalnya, {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}).
Lalu baca dua input lagi:
- Sebuah string
key1yang mewakili kunci pertama yang akan diakses - Sebuah string
key2yang mewakili kunci kedua yang akan diakses
Untuk mengonversi string JSON menjadi array asosiatif, gunakan fungsi bawaan json_decode() dengan true sebagai argumen kedua:
$array = json_decode($jsonString, true);
Argumen kedua true memberi tahu PHP untuk mengembalikan array asosiatif, bukan object. Setelah didekodekan, kamu dapat mengakses nilai berdasarkan kunci seperti pada array asosiatif lainnya, misalnya $array["title"].
Buat array asosiatif 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 kunci
$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