Operator ternary
Termasuk bagian Dasar-Dasar dalam perjalanan PHP di Coddy. Pelajaran 30 dari 71.
Jika kamu memiliki if-else sederhana yang hanya menetapkan nilai berdasarkan suatu kondisi, PHP menyediakan cara yang lebih singkat untuk menulisnya: operator ternary.
Sintaks ini menggunakan ? dan : untuk membuat percabangan ringkas dalam satu baris:
<?php
$age = 20;
// Menggunakan if-else
if ($age >= 18) {
$status = "adult";
} else {
$status = "minor";
}
// Hal yang sama dengan operator ternary
$status = $age >= 18 ? "adult" : "minor";
echo $status; // adult
?>Strukturnya adalah: condition ? value_if_true : value_if_false.
PHP mengevaluasi kondisi terlebih dahulu. Jika kondisi bernilai true, ekspresi mengembalikan nilai setelah ?. Jika bernilai false, ekspresi mengembalikan nilai setelah :.
<?php
$score = 45;
$result = $score >= 50 ? "Pass" : "Fail";
echo $result; // Fail
$isLoggedIn = true;
$greeting = $isLoggedIn ? "Welcome back!" : "Please log in";
echo $greeting; // Welcome back!
?>Operator ternary cocok untuk penetapan sederhana yang memilih salah satu dari dua opsi. Untuk logika yang lebih kompleks dengan beberapa kondisi, gunakan pernyataan if-elseif-else agar lebih mudah dibaca.
Tantangan
MudahBaca dua bilangan bulat dari input: score dan passingScore.
Gunakan operator ternary untuk menentukan hasil berdasarkan hal berikut:
- Jika
scorelebih besar dari atau sama denganpassingScore, hasilnya harusPassed - Jika tidak, hasilnya harus
Failed
Cetak hasilnya pada baris pertama.
Lalu, baca bilangan bulat quantity dari input. Gunakan operator ternary untuk menentukan pesan pengiriman:
- Jika
quantitylebih besar dari 10, pesannya harusFree shipping - Jika tidak, pesannya harus
Standard shipping
Cetak pesan pengiriman pada baris kedua.
Contoh:
Jika inputnya adalah 75, 60, dan 15, outputnya harus:
Passed
Free shippingJika inputnya adalah 45, 50, dan 5, outputnya harus:
Failed
Standard shippingCoba sendiri
<?php
// Baca input
$score = intval(fgets(STDIN));
$passingScore = intval(fgets(STDIN));
$quantity = intval(fgets(STDIN));
// TODO: Tulis kodemu di bawah ini
// Gunakan operator ternary untuk menentukan apakah skor lulus atau gagal
// Gunakan operator ternary untuk menentukan pesan pengiriman
// Tampilkan hasilnya
echo $result . "\n";
echo $shippingMessage;
?>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