PHP Switch Statements

Learn via video courses
Topics Covered

Overview

Switch case in PHP is a control structure that allows the program to compare a single expression against multiple values and execute different code blocks depending on which value matches the expression. The switch statement provides an alternative to using multiple if-else statements, which can become cumbersome and difficult to read as the number of conditions increases. The basic syntax of a switch statement in PHP involves the use of the switch keyword followed by an expression in parentheses.

Introduction

Switch case in PHP are control structures that allow the programmer to execute different blocks of code based on the value of a variable or expression. This can be particularly useful when dealing with complex conditional statements or when multiple conditions must be evaluated.

Switch case in PHP provides an alternative to multiple if-else statements that can be difficult to read and maintain. Instead, the switch statement evaluates a single expression and compares its value to a set of predefined cases. If a match is found, the corresponding block of code is executed.

The switch case in PHP can also include a default case that is executed if none of the other cases match. This can be particularly useful for handling unexpected or unknown input.

Flowchart of Switch Statement

As you know that a flowchart is a diagrammatic representation of a program's logic that shows how data flows from one process to another. The flowchart of a switch statement in PHP begins with the decision-making process, where the value of a variable is compared to a series of possible values or expressions. If the value of the variable matches a case, the corresponding code block is executed, and the program flow exits the switch statement.

flowchart switch statement

The flowchart of a switch case in PHP shows the decision-making process as a diamond-shaped symbol with the variable or expression is evaluated at the top. The cases are represented by rectangular symbols branching off from the diamond symbol, each with a label indicating the value or expression being compared. The program flow moves to the code block associated with the matching case, and execution stops when a break statement is encountered. If none of the cases match, the program flow moves to the default case, represented by a rectangular symbol with a label indicating that it is the default case.

Syntax

Explanation The switch case in php syntax starts with the switch keyword, followed by a pair of parentheses containing the variable or expression being evaluated. This is then followed by a set of curly braces containing a series of case statements, each with a value or expression to compare against the variable or expression in the switch statement.

Important Points to Be Noticed About Switch Case

  • Each case statement should end with a break statement to prevent execution from continuing into the next case statement. If a break statement is not included, all subsequent case statements will be executed, even if they don't match the value of the variable or expression being evaluated.
  • The default case is optional, but it is recommended to include one to handle situations where none of the case statements match the variable or expression is evaluated.
  • The value of the variable or expression being evaluated in the switch statement should be of a primitive data type, such as integer, string, or boolean.
  • The values in each case statement should also be of the same data type as the value of the variable or expression is evaluated. For example, if the variable being evaluated is a string, the values in each case statement should also be strings.

Examples

Demonstration

Now you will see a code that demonstrates how to use the switch case in php:

Explanation
In this example, the switch case in php evaluates the variable $dayOfWeek and executes the code block associated with the matching case. Since $dayOfWeek is equal to "Wednesday", the code block associated with the "Wednesday" case is executed, and the output will be "Today is Wednesday". If $dayOfWeek had been "Saturday" or "Sunday", the default case would have been executed, and the output would be "It is the weekend!".

PHP Switch Statement with Character

The code below is an example of a PHP switch statement that evaluates a character variable:

Explanation
In this example, the switch case in php evaluates the variable $letter, which is a character. If $letter is 'A', 'B', or 'C', the corresponding code block will be executed and the output will be "The letter is A", "The letter is B", or "The letter is C", respectively. If $letter is any other character, the default case will be executed and the output will be "The letter is not A, B, or C".

With String
The code below is an example of a PHP switch statement that evaluates a string variable:

Explanation
In this example, the switch case in php evaluates the variable $fruit, which is a string. If $fruit is 'banana', 'orange', or 'apple', the corresponding code block will be executed and the output will be "The fruit is a banana", "The fruit is an orange", or "The fruit is an apple", respectively. If $fruit is any other string, the default case will be executed and the output will be "The fruit is not a banana, orange, or apple".

PHP Switch Statement Is Fall-Through

The below code is an example of a PHP switch statement where fall-through behavior occurs:

Explanation
In this example, the switch case in php evaluates the variable $num, which has a value of 2. The case statements for 1 and 2 do not have a break statement, so execution will "fall through" to the next case statement.

Nested Switch Statement

The below code is an example of the nested switch statement in php:

Explanation
In this example, there are two switch cases in php nested inside each other. The outer switch statement evaluates the variable $subject, which can be either 'math' or 'science'. If $subject is 'math', the inner switch statement is executed, which evaluates the variable KaTeX parse error: Unexpected character: '\' at position 72: … the grade. If \̲subject is 'science', the inner switch statement is executed in the same way.

Conclusion

  • Switch case in PHP is used to perform different actions based on different conditions.
  • Switch case in php can evaluate both numeric and string variables.
  • Case statements are used to define the different conditions to evaluate.
  • The break statement is used to prevent fall-through behavior and ensure only the appropriate code block is executed.
  • The default case is used to handle all conditions that are not explicitly defined in the case statements.