PHP switch statement is used to execute one statement from multiple conditions. It works like PHP if-else-if statement.
switch(expression){ case value1: //code to be executed break; case value2: //code to be executed break; ...... default: code to be executed if all cases are not matched; }
<?php $num=20; switch($num){ case 10: echo("number is equals to 10"); break; case 20: echo("number is equal to 20"); break; case 30: echo("number is equal to 30"); break; default: echo("number is not equal to 10, 20 or 30"); } ?>
Output:
Program to check Vowel and consonant
We will pass a character in switch expression to check whether it is vowel or constant. If the passed character is A, E, I, O, or U, it will be vowel otherwise consonant.
<?php $ch = 'U'; switch ($ch) { case 'a': echo "Given character is vowel"; break; case 'e': echo "Given character is vowel"; break; case 'i': echo "Given character is vowel"; break; case 'o': echo "Given character is vowel"; break; case 'u': echo "Given character is vowel"; break; case 'A': echo "Given character is vowel"; break; case 'E': echo "Given character is vowel"; break; case 'I': echo "Given character is vowel"; break; case 'O': echo "Given character is vowel"; break; case 'U': echo "Given character is vowel"; break; default: echo "Given character is consonant"; break; } ?>
Output:
PHP allows to pass string in switch expression. Let's see the below example of course duration by passing string in switch case statement.
<?php $ch = "B.Tech"; switch ($ch) { case "BCA": echo "BCA is 3 years course"; break; case "Bsc": echo "Bsc is 3 years course"; break; case "B.Tech": echo "B.Tech is 4 years course"; break; case "B.Arch": echo "B.Arch is 5 years course"; break; default: echo "Wrong Choice"; break; } ?>
Output:
PHP switch statement is fall-through. It means it will execute all statements after getting the first match, if break statement is not found.
<?php $ch = 'c'; switch ($ch) { case 'a': echo "Choice a"; break; case 'b': echo "Choice b"; break; case 'c': echo "Choice c"; echo "</br>"; case 'd': echo "Choice d"; echo "</br>"; default: echo "case a, b, c, and d is not found"; } ?>
Output:
Nested switch statement means switch statement inside another switch statement. Sometimes it leads to confusion.
<?php $car = "Hyundai"; $model = "Tucson"; switch( $car ) { case "Honda": switch( $model ) { case "Amaze": echo "Honda Amaze price is 5.93 - 9.79 Lakh."; break; case "City": echo "Honda City price is 9.91 - 14.31 Lakh."; break; } break; case "Renault": switch( $model ) { case "Duster": echo "Renault Duster price is 9.15 - 14.83 L."; break; case "Kwid": echo "Renault Kwid price is 3.15 - 5.44 L."; break; } break; case "Hyundai": switch( $model ) { case "Creta": echo "Hyundai Creta price is 11.42 - 18.73 L."; break; case "Tucson": echo "Hyundai Tucson price is 22.39 - 32.07 L."; break; case "Xcent": echo "Hyundai Xcent price is 6.5 - 10.05 L."; break; } break; } ?>
Output: