Bird
0
0

You want to map HTTP status codes to messages using match. Which code correctly returns 'Success' for 200 or 201, 'Redirect' for 301 or 302, and 'Error' for others?

hard📝 Application Q8 of 15
PHP - Conditional Statements
You want to map HTTP status codes to messages using match. Which code correctly returns 'Success' for 200 or 201, 'Redirect' for 301 or 302, and 'Error' for others?
A$message = match ($code) { 200, 201 => 'Success', 301, 302 => 'Redirect', default => 'Error' };
B$message = match ($code) { [200, 201] => 'Success', [301, 302] => 'Redirect', default => 'Error' };
C$message = match ($code) { (200 || 201) => 'Success', (301 || 302) => 'Redirect', default => 'Error' };
D$message = match ($code) { 200 | 201 => 'Success', 301 | 302 => 'Redirect', default => 'Error' };
Step-by-Step Solution
Solution:
  1. Step 1: Recall syntax for multiple values per case

    Multiple values must be grouped in arrays like [200, 201] => 'Success'.
  2. Step 2: Check other options for invalid syntax

    Options A, C, D use invalid syntax for multiple values.
  3. Final Answer:

    $message = match ($code) { [200, 201] => 'Success', [301, 302] => 'Redirect', default => 'Error' }; -> Option B
  4. Quick Check:

    Multiple values per case = use arrays [OK]
Quick Trick: Group multiple cases in arrays for match [OK]
Common Mistakes:
  • Using commas without arrays for multiple cases
  • Using logical operators inside match cases
  • Using bitwise OR instead of arrays

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PHP Quizzes