Switch mirip dengan serangkaian struktur kontrol if pada ekspresi yang sama. Sebenarnya switch case juga merupakan bentuk struktur kontrol yang dapat menyederhanakan bentuk dari if. Perintah ini digunakan sebagai alternatif pengganti dari sintaks if … else dengan else lebih dari satu. Switch, kondisi hanya dinyatakan dengan bilangan bulat atau karakter/string. Dengan perintah ini program percabangan akan semakin mudah dibuat dan dipelajari. Berikut aturan penulisan switch dalam PHP :
Perintah switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan variabel yang berada di case. Pembandingan akan dimulai dari variabel pertama sampai variabel terakhir. Jika hasil dari kondisi terpenuhi dengan nilai variabel tertentu, misalnya variabel 1 , maka pernyataan 1 akan dijalankan sampai ditemukan perintah break. Pernyataan break akan membawa proses keluar dari perintah switch, agar eksekusi dilakukan pada kondisi yang terpenuhi saja, jika telah terpenuhi maka dihentikan. Jika hasil dari kondisi tidak terpenuhi dengan variabel-variabel yang diberikan, maka pernyataan pada default akan dijalankan. Berikut contoh penggunaan switch di PHP :
Ada persamaan dan ada juga perbedaan antara if-else dengan switch-case yang harus kita ketahui. Jadi sekarang apa perbedaan atara if-else dan switch-case?. Berikut Perbedaan if-else dan switch-case pada PHP :
- Di dalam struktur kontrol switch, kondisi logika hanya akan di periksa satu kali saja, yaitu pada awal perintah switch dan hasilnya di bandingkan dengan setiap case, Sedangkan di struktur kontrol if-else setiap kondisi akan akan selalu di periksa. Sehingga jika anda memiliki struktur percabangan yang banyak, struktur switch akan lebih cepat dieksekusi.
- Di dalam struktur kontrol switch kita harus menggunakan break, gunanya untuk mengakhiri statement.
- Di switch terdapat default, ini bisa dibilang sebagai ‘Else’nya Switch Case.
- Switch memiliki keterbatasan dalam jenis operasi perbandingan yang dapat dilakukan. Operasi perbandingan di dalam switch terbatas untuk hal-hal sederhana seperti memeriksa nilai dari sebuah variabel.
- Struktur switch tidak bisa digunakan untuk percabangan program dengan operasi yang lebih rumit seperti membandingkan 2 variabel.
Menurut PSR-2 tentang Coding Style Guide dijelaskan beberapa ketentuan penulisan switch case pada PHP yaitu :
- switch case harus menggunakan kurung kurawal ({} – Curly Brackets), tidak boleh menggunakan semi colon (;).
- Keyword case harus menjorok 1 indent (saya pribadi 1 x tab) dibanding keyword switch.
- Dalam blok case, keyword break harus ditulis lebih menjorok (panjang indent sama dengan indent pada keyword case), dan sejajar dengan statement diatas nya.
- Jika tidak menggunakan break dan terdapat statement pada block case maka harus diberi comment yang menandakan bahwa block tersebut tidak menggunakan break.