Operator koalesensi null
Termasuk bagian Dasar-Dasar dalam perjalanan PHP di Coddy. Pelajaran 31 dari 71.
Operator null coalescing (??) menyediakan cara praktis untuk menggunakan nilai default saat variabel bernilai null atau tidak ada. Ini sangat berguna saat bekerja dengan data yang mungkin tidak tersedia.
Sintaks menempatkan ?? di antara variabel yang akan diperiksa dan nilai cadangan:
<?php
$username = null;
$displayName = $username ?? "Guest";
echo $displayName; // Guest
?>PHP memeriksa apakah $username bernilai null. Karena memang demikian, operator tersebut mengembalikan "Guest". Jika $username memiliki nilai, nilai itu akan digunakan.
<?php
$username = "Alice";
$displayName = $username ?? "Guest";
echo $displayName; // Alice
?>Operator penggabungan null juga berfungsi saat variabel belum didefinisikan sama sekali, tanpa memicu error:
<?php
// $color tidak didefinisikan di mana pun
$selectedColor = $color ?? "blue";
echo $selectedColor; // blue
?>Ini membuat ?? lebih rapi daripada menggunakan operator ternary dengan pemeriksaan isset(). Ini cocok untuk memberikan nilai default yang wajar saat data mungkin tidak tersedia.
Tantangan
MudahBaca dua nilai dari input: string nickname dan string theme.
Gunakan operator null coalescing untuk menangani nilai yang mungkin tidak tersedia:
- Buat variabel
$userNicknameyang diberi nilainull. Lalu gunakan operator null coalescing untuk menetapkan nilai$userNicknameke$displayNicknamejika nilai tersebut ada dan bukan null, jika tidak, gunakan nilai inputnickname. - Buat variabel
$userThemedan tetapkan nilai inputthemekepadanya. Gunakan operator null coalescing untuk menetapkan nilai$userThemeke$selectedThemejika nilai tersebut ada dan bukan null, jika tidak, gunakandarksebagai nilai default. - Gunakan operator null coalescing secara langsung dengan variabel
$languageyang belum didefinisikan (jangan mendefinisikannya) untuk menetapkan nilai$languageke$displayLanguagejika variabel tersebut ada, jika tidak, gunakanEnglishsebagai nilai default.
Cetak setiap hasil pada baris baru dengan urutan ini: $displayNickname, $selectedTheme, $displayLanguage.
Contoh:
Jika inputnya adalah Player1 dan light, outputnya adalah:
Player1
light
EnglishJika inputnya adalah GuestUser dan blue, outputnya adalah:
GuestUser
blue
EnglishCoba sendiri
<?php
// Baca input
$nickname = trim(fgets(STDIN));
$theme = trim(fgets(STDIN));
// TODO: Tulis kodemu di bawah ini
// 1. Buat $userNickname dengan nilai null, lalu gunakan ?? untuk menetapkan $displayNickname
// 2. Buat $userTheme dengan input tema, lalu gunakan ?? untuk menetapkan $selectedTheme (nilai bawaan: teks persis dari instruksi)
// 3. Gunakan ?? dengan $language yang belum didefinisikan untuk menetapkan $displayLanguage (nilai bawaan: teks persis dari instruksi)
// Tampilkan output hasilnya (masing-masing pada baris baru)
echo $displayNickname . "\n";
echo $selectedTheme . "\n";
echo $displayLanguage . "\n";
?>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 Sederhana2Variabel 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