Challenge - 5 Problems
Switch Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of switch with fall-through
What is the output of this PHP code?
PHP
<?php $val = 2; switch ($val) { case 1: echo "One "; case 2: echo "Two "; case 3: echo "Three "; break; default: echo "Default "; } ?>
Attempts:
2 left
💡 Hint
Remember that without break, cases fall through to the next.
✗ Incorrect
The switch starts at case 2, prints 'Two ', then falls through to case 3 and prints 'Three ', then breaks.
❓ Predict Output
intermediate2:00remaining
Switch with strict type comparison
What will this PHP code output?
PHP
<?php $value = '5'; switch ($value) { case 5: echo "Number 5"; break; case '5': echo "String 5"; break; default: echo "No match"; } ?>
Attempts:
2 left
💡 Hint
PHP switch uses loose comparison (==), not strict (===).
✗ Incorrect
The string '5' loosely equals the integer 5, so case 5 matches first and prints 'Number 5'.
🔧 Debug
advanced2:00remaining
Identify the error in switch syntax
Which option contains a syntax error in the switch statement?
Attempts:
2 left
💡 Hint
Check the syntax for the default case.
✗ Incorrect
Option A misses the colon ':' after 'default', causing a syntax error.
❓ Predict Output
advanced2:00remaining
Switch with multiple cases and no breaks
What is the output of this PHP code?
PHP
<?php $val = 1; switch ($val) { case 0: case 1: case 2: echo "Low "; case 3: echo "Mid "; break; default: echo "High "; } ?>
Attempts:
2 left
💡 Hint
Cases 0,1,2 share the same block without breaks.
✗ Incorrect
Value 1 matches case 1, prints 'Low ', then falls through to case 3 and prints 'Mid ', then breaks.
🧠 Conceptual
expert2:00remaining
Behavior of switch with non-scalar expression
What happens when you use an array as the switch expression in PHP like this?
PHP
<?php $arr = [1, 2]; switch ($arr) { case [1, 2]: echo "Match"; break; default: echo "No match"; } ?>
Attempts:
2 left
💡 Hint
PHP switch uses loose comparison but arrays in switch cause warnings.
✗ Incorrect
Using arrays in switch causes a warning: 'Warning: Switch statement with non-scalar expression', then default runs printing 'No match'.