PHP Switch Case merupakan pernyataan yang di gunakan untuk melakukan tindakan berbeda berdasarkan kondisi yang berbeda.
Pernyataan ini (PHP Switch Case) mirip dengan serangkaian pernyataan IF pada ekspresi yang sama. dalam banyak kesempatan, Switch berfungsi membandingkan variabel yang sama dengan banyak nilai yang berbeda, dan mengeksekusi bagian kode yang berbeda tergantung pada nilai yang sama.
Baca Juga : Belajar PHP #1, Belajar PHP #2, Belajar PHP #3, Belajar PHP #4, Belajar PHP #5, Belajar PHP #6, Belajar PHP #7, Belajar PHP #8
Berikut Syntax nya :
Penjelasan :
Tidak seperti bahasa pemrograman lainya, setiap case menggunakan break; untuk melanjutkan pernyataan.
Jika Anda memiliki switch di dalam looping atau perulangan dan ingin melanjutkan ke proses berikutnya dari loop luar, gunakan continue. selanjutnya default value di gunakan untuk menentukan nilai default jika nilai (n) tidak sama dengan semua case.
Baca Juga Tutorial : Backup database dengan batchfile
Untuk memahami lebih lanjut perhatikan contoh berikut :
<!DOCTYPE html> <html> <body> <?php $warna = "merah"; switch ($warna) { case "merah": echo "warna favorit kamu adalah merah"; break; case "kuning": echo "warna favorit kamu adalah kuning"; break; case "hijau": echo "warna favorit kamu adalah hijau"; break; default: echo "warna favorit kamu adalah selain merah, kuning, hijau!"; } ?> </body> </html>Berikut output :
warna favorit kamu adalah merahPenjelasan : $warna merupakan ekspresi tunggul dengan nilai “merah“, kemudian switch akan membandingkan dengan nilai case secara berurutan, jika nilai yang di temukan sama, maka case mengeksekusi kode lalu break keluar dari fungsi untuk melanjutkan ke kode lain.
Sekarang kita akan membahas pernyataan bersyarat switch case. Mekanisme kerja switch case mirip dengan struktur logika if elseif else, dimana akan dipilih kondisi yang sesuai dari inputan yang kita berikan.Struktur logika switch case
Syntax penulisan switch case :switch($var)
{
case value1:
statement1;
break;
case value2
statement2;
break;
case value3:
statement3;
break;
.............
default:
statement-n;
}
Keterangan :
- $var merupakan sebuah inputan / nilai dari variabel
- value1,value2, value3 merupakan sebuah nilai dari variabel. Nilai-nilai tersebut disandingkan dengan keyword case. Nantinya nilai dari $var akan memeriksa apakah dia berada pada value1 atau value2 ataupun value3. Jika terdapat pada salah satunya, misalhnya nilai $var berada pada value2, maka dia akan mengproses statement2. Jika tidak terdapat pada salah satu value tersebut (value1, value2, value3) maka akan masuk kebagian default dan dengan sendirinya statement-n akan diproses.
- break digunakan untuk keluar dari switch, sehingga proses pemeriksaan case tidak perlu dilanjutkan.
- default digunakan jika nilai dari $var tidak ada yang sesuai pada case value1, case value2 dan case value3.
Contoh.1
Dalam contoh ini diberikan nilai pada variabel $value=2, kemudian akan diperiksa pada case mana nilainya sama dengan 2.<?php $value =2; switch ($value) { case 1: echo "Nilainya = 1"; break; case 2: echo "Nilainya = 2"; break; case 3: echo "Nilainya 3"; break; case 4: echo "Nilainya 4"; break; default: echo "Nilainya bukan 1-4"; break; } ?>Output :
Nilainya = 2
Contoh.2
Kasus pada contoh.2 sama dengan contoh.1.Namun disini pada case 2 tidak terdapat statementnya serta keyword break.
<?php $value =2; switch ($value) { case 1: echo "Nilainya = 1"; break; case 2: case 3: echo "Nilainya 2 atau 3"; break; case 4: echo "Nilainya 4"; break; default: echo "Nilainya bukan 1-4"; break; } ?>Output :Nilainya 2 atau 3Jika kita perhatikan, walaupun nilai dari variabel $value ditemukan pada case 2, namun karena tidak ada perintah break, maka akan dilanjutkan pada case dibawahnya. Sehingga case 3 yang diproses.
Contoh.3
Pada contoh.3 ini kita memiliki kasus untuk mencetak nilai dengan ketentuan seperti ditunjukkan oleh tabel dibawah ini :
GradeRange NilaiA85 - 100B75 - 84C60 - 74D50 - 59E0 - 49Pembuatan program untuk kasus dari tabel diatas sudah kita pecahkan dengan menggunakan struktur logika if elseif else. Seperti yang diutarakan diatas, prinsip kerja switch case memiliki kemiripan dengan logika if elseif else, sehingga kitapun menuliska program tersebut menjadi :
Apa itu switch dalam PHP?
Apa itu struktur switch?
Apa Perbedaan percabangan dari if else dan switch case?