Langsung ke konten utama

Control Flow Switch

1.  Mencicipi pernyataan Switch
Di samping anda bisa melihat sebuah pernyataan switch yang sederhana. Sebuah pernyataan switch berguna ketika anda memiliki sebuah rangkaian if else if else yang bergantung pada sebuah variabel yang sama. Pernyataan switch memberikan efisiensi dan kemudahan membaca bagi coder. switch berkerja seperti sebuah if, jika sebuah kondisi bernilai true, maka program akan mengeksekusi sebuah blok code.
Contoh:
switch (2) {
  case 0:
    echo 'Nilainya adalah 0';
    break;
  case 1:
    echo 'Nilainya adalah 1';
    break;
  case 2:
    echo 'Nilainya adalah 2';
    break;
  default:
    echo 'Nilainya bukan 0, 1, maupun 2';
}
2.  Syntax dari Switch
Pernyataan switch hanya menerima sebuah argumen dan itu adalah nilai yang akan anda periksa.
Argumen yang dituliskan di switch akan dibandingkan dengan argumen yang ada di case. Jika nilainya sama, maka blok code setelah case akan dijalankan hingga komputer menemukan break.
Kata kunci default adalah sebuah case yang khusus. Layaknya case biasa, hanya saja blok code didalamnya hanya akan dieksekusi jika argumen di switch tidak menemukan yang cocok dengan argumen di semua case. Dan default tidak memerlukan argumen apapun.
Seperti yang telah dijelaskan sebelumnya, setelah menemukan argumen yang tepat di sebuah case, komputer akan menjalan blok codenya hingga komputer menemukan break. Code berikut tidak menggunakan break sehingga outputnya menjadi 123:
switch (1) {
    case 1:
        echo "1";
    case 2:
        echo "2";
    case 3:
        echo "3";
}
Karenanya break cukuplah penting sehingga program anda akan jalan semestinya. (Terkadang untuk beberapa kasus, tidak menggunakan break adalah solusi yang tepat. Anda bisa menebak kenapa?)
$buah = "Apel";

switch ($buah) {
  case 'Apel':
    echo "Enak..!";
     break;
  // tambah default

  case 'default':
    echo "default..!";
     break ;
 }
3.  Case lebih dari satu
Terkadang anda ingin membuat ekspresi lebih dari satu dimana mereka akan menghasilkan hasil yang sama. Perhatikan code berikut:
if ($i == 1 ||
    $i == 2 ||
    $i == 3) {
 echo '$i bernilai diantara 1 dan 3.';
}
Dengan sebuah pernyataan switch anda bisa melakukannya dengan memasukkan case setelah case sebelumnya tanpa menggunakan break. Untuk code yang sama seperti diatas dengan menggunakan switch akan terlihat seperti berikut:
case 1:
case 2:
case 3:
 echo '$i bernilai diantara 1 dan 3.';
 break;

Contoh:

$i = 5;

switch ($i) {
        case 0:
            echo '$i bernilai 0.';
            break;
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            echo '$i bernilai diantara 1 dan 5.';
            break;
        case 6:
        case 7:
            echo '$1 bernilai 6 atau 7.';
            break;
        default:
            echo "Saya tidak tahu nilai dari \$i.";
}
4.  Menggunakan endswitch!
PHP menyediakan dua cara penulisan untuk menggunakan switch. Pertama adalah cara yang telah kita pelajari:
switch ($i) {

}
Tapi kita juga bisa membuatnya seperti ini:
switch ($i):

endswitch;
Tidak ada perbedaan di antara keduanya, ini hanya digunakan untuk mempermudah membaca code. Gaya yang anda gunakan tergantung dari kesukaan anda ataupun policy dari perusahaan anda.
Contoh:
$i = 5;

switch ($i):
        case 0:
            echo '$i bernilai 0.';
            break;
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            echo '$i bernilai diantara 1 dan 5.';
            break;
        case 6:
        case 7:
            echo '$1 bernilai 6 atau 7.';
            break;
        default:
            echo "Saya tidak tahu nilai dari \$i.";
endswitch;


Komentar