HOME C C++ PYTHON JAVA HTML CSS JAVASCRIPT BOOTSTRAP JQUERY REACT PHP SQL AJAX JSON DATA SCIENCE AI

PHP switch Statement

The PHP switch statement is a powerful tool for executing different code blocks based on the value of a particular expression. It acts as a multi-way conditional branching mechanism, offering an alternative to chained if-else statements in certain scenarios.

Syntax


switch (expression) {
case label1:
//code block
break;
case label2:
//code block;
break;
case label3:
//code block
break;
default:
//code block
}

This is how it works:

• The expression is evaluated once
• The value of the expression is compared with the values of each case
• If there is a match, the associated block of code is executed
• The break keyword breaks out of the switch block
• The default code block is executed if there is no match


Example


<!DOCTYPE html>
<html>
<body>

<?php
$favcolor = "red";

switch ($favcolor) {
  case "red":
    echo "Your favorite color is red!";
    break;
  case "blue":
    echo "Your favorite color is blue!";
    break;
  case "green":
    echo "Your favorite color is green!";
    break;
  default:
    echo "Your favorite color is neither red, blue, nor green!";
}
?>
 
</body>
</html>

Output

Your favorite color is red!

• The break Keyword

When PHP reaches a break keyword, it breaks out of the switch block.

This will stop the execution of more code, and no more cases are tested.

The last block does not need a break, the block breaks (ends) there anyway.


Example


What happens if we remove the break statement from case "red"?

$favcolor is red, so the code block from case "red" is executed, but since it has no break statement, the code
block from case "blue" will also be executed:


<!DOCTYPE html>
<html>
<body>

<?php
$favcolor = "red";

switch ($favcolor) {
  case "red":
    echo "Your favorite color is red!";
  case "blue":
    echo "Your favorite color is blue!";
    break;
  case "green":
    echo "Your favorite color is green!";
    break;
  default:
    echo "Your favorite color is neither red, blue, nor green!";
}
?>
 
</body>
</html>

Output

Your favorite color is red!Your favorite color is blue!

• The default Keyword

The default keyword specifies the code to run if there is no case match:


Example


If no cases get a match, the default block is executed:

<!DOCTYPE html>
<html>
<body>

<?php
$d = 4;

switch ($d) {
  case 6:
    echo "Today is Saturday";
    break;
  case 0:
    echo "Today is Sunday";
    break;
  default:
    echo "Looking forward to the Weekend";
}
?>
 
</body>
</html>

Output

Looking forward to the Weekend

The default case does not have to be the last case in a switch block:

Example


Putting the default block elsewhere than at the end of the switch block is allowed, but not recommended.

<!DOCTYPE html>
<html>
<body>

<?php
$d = 4;

switch ($d) {
  default:
    echo "Looking forward to the Weekend";
    break;
  case 6:
    echo "Today is Saturday";
    break;
  case 0:
    echo "Today is Sunday";
}
?>
 
</body>
</html>

Output

Looking forward to the Weekend

• Common Code Blocks

If you want multiple cases to use the same code block, you can specify the cases like this:


Example


<!DOCTYPE html>
<html>
<body>

<?php
$d = 3;

switch ($d) {
  case 1:
  case 2:
  case 3:
  case 4:
  case 5:  
    echo "The week feels so long!";
    break;
  case 6:
  case 0:
    echo "Weekends are the best!";
    break;
  default:
    echo "Something went wrong";
}
?>
 
</body>
</html>

Output

The week feels so long!