Menu
CoddyTech

Pernyataan switch

Termasuk bagian Dasar-Dasar dalam perjalanan PHP di Coddy. Pelajaran 32 dari 71.

Saat kamu perlu membandingkan satu variabel dengan banyak nilai tertentu, pernyataan switch menawarkan alternatif yang lebih rapi daripada rangkaian if-elseif yang panjang.

Pernyataan switch memeriksa satu variabel, lalu mencocokkannya dengan berbagai nilai case:

<?php
$day = "Monday";

switch ($day) {
    case "Monday":
        echo "Start of the week";
        break;
    case "Friday":
        echo "Almost weekend";
        break;
    case "Saturday":
    case "Sunday":
        echo "Weekend!";
        break;
    default:
        echo "Regular day";
}
?>

PHP membandingkan $day dengan setiap case. Saat menemukan kecocokan, PHP menjalankan kode dalam blok tersebut.

Pernyataan break sangat penting. Pernyataan ini memberi tahu PHP untuk keluar dari switch setelah menjalankan case yang cocok. Tanpanya, PHP akan terus menjalankan semua kode di bawahnya, bahkan kode dari case lain.

Perhatikan bahwa Saturday dan Sunday menggunakan kode yang sama karena case-nya ditumpuk bersama. Case default berfungsi seperti else. Case ini dijalankan ketika tidak ada case lain yang cocok.

<?php
$grade = "B";

switch ($grade) {
    case "A":
        echo "Excellent!";
        break;
    case "B":
        echo "Good job!";
        break;
    default:
        echo "Keep trying!";
}
?>

Gunakan switch saat membandingkan satu variabel dengan beberapa nilai yang tepat. Untuk kondisi atau rentang yang kompleks, gunakan pernyataan if-elseif.

challenge icon

Tantangan

Mudah

Baca sebuah string command dari input yang mewakili warna lampu lalu lintas.

Gunakan pernyataan switch untuk menentukan tindakan yang sesuai berdasarkan warnanya:

  • Jika perintahnya red, cetak Stop
  • Jika perintahnya yellow, cetak Slow down
  • Jika perintahnya green, cetak Go
  • Jika perintahnya flashing red atau flashing yellow, cetak Proceed with caution
  • Untuk nilai lainnya, cetak Invalid signal

Contoh:

Jika inputnya green, outputnya harus berupa:

Go

Jika inputnya flashing red, outputnya harus berupa:

Proceed with caution

Jika inputnya blue, outputnya harus berupa:

Invalid signal

Coba sendiri

<?php
// Baca input
$command = trim(fgets(STDIN));

// TODO: Tulis kodemu di bawah ini menggunakan pernyataan switch
// Tentukan tindakan yang tepat berdasarkan warna lampu lalu lintas


?>
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler PHP online