Bird
Raised Fist0
PHPprogramming~10 mins

Elseif ladder execution in PHP - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Elseif ladder execution
Start
↓
Check if condition1
|Yes↓
Execute block1
↓
End
No↓
Check if condition2
|Yes↓
Execute block2
↓
End
No↓
Check if condition3
|Yes↓
Execute block3
↓
End
No↓
Execute else block
↓
End
The program checks each condition in order. When one condition is true, it runs that block and skips the rest. If none are true, it runs the else block.
Execution Sample
PHP
<?php
$score = 75;
if ($score >= 90) {
  echo "Grade A";
} elseif ($score >= 70) {
  echo "Grade B";
} else {
  echo "Grade C";
}
?>
This code checks the score and prints the grade based on the first true condition.
Execution Table
StepCondition CheckedCondition ResultAction TakenOutput
1$score >= 9075 >= 90 is FalseSkip if block
2$score >= 7075 >= 70 is TrueExecute elseif blockGrade B
3Else blockSkipped because previous condition was TrueNo action
4EndExecution completeProgram ends
💡 Condition '$score >= 70' is True, so elseif block runs and rest are skipped.
Variable Tracker
VariableStartAfter Step 1After Step 2Final
$score75757575
Key Moments - 2 Insights
Why does the else block not run even though it is present?
Because the elseif condition at step 2 is True, the program executes that block and skips the else block as shown in execution_table row 3.
What happens if the first condition is True?
If the first condition is True, the program executes the first if block and skips all elseif and else blocks, similar to how step 2 works for the elseif.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the output at step 2?
AGrade A
BGrade C
CGrade B
DNo output
💡 Hint
Check the 'Output' column in execution_table row 2.
At which step does the program decide to skip the else block?
AStep 3
BStep 2
CStep 1
DStep 4
💡 Hint
Look at the 'Action Taken' column in execution_table row 3.
If $score was 95, which step would output text?
AStep 2
BStep 1
CStep 3
DStep 4
💡 Hint
Refer to the condition checks and outputs in execution_table for $score = 75 and imagine $score = 95.
Concept Snapshot
if (condition1) {
  // block1
} elseif (condition2) {
  // block2
} else {
  // else block
}

Checks conditions in order, runs first true block, skips rest.
Full Transcript
This example shows how PHP checks conditions in an elseif ladder. It starts by checking the first if condition. If false, it moves to the elseif condition. If that is true, it runs that block and skips the else block. If none are true, it runs the else block. The variable $score is 75, so the first condition is false, the second is true, and the program prints 'Grade B'. The else block is skipped because a previous condition was true.

Practice

(1/5)
1.

What does an elseif ladder do in PHP?

easy
A. It only checks the last condition in the ladder.
B. It runs all conditions regardless of their truth value.
C. It checks conditions one by one and runs the first true block.
D. It skips all conditions and runs the else block always.

Solution

  1. Step 1: Understand elseif ladder behavior

    An elseif ladder evaluates conditions from top to bottom.
  2. Step 2: Identify execution flow

    It executes the code block of the first condition that is true and skips the rest.
  3. Final Answer:

    It checks conditions one by one and runs the first true block. -> Option C
  4. Quick Check:

    Elseif ladder = first true condition runs [OK]
Hint: Runs only first true condition block in order [OK]
Common Mistakes:
  • Thinking all conditions run
  • Believing it checks only last condition
  • Assuming else always runs
2.

Which of the following is the correct syntax for an elseif ladder in PHP?

<?php
if (condition1) {
    // code
} elseif (condition2) {
    // code
} else {
    // code
}
?>
easy
A. if (condition1) {} elseif (condition2) {} else {}
B. if (condition1) {} else if (condition2) {} else {}
C. if (condition1) {} elseif condition2 {} else {}
D. if condition1 {} elseif (condition2) {} else {}

Solution

  1. Step 1: Check PHP elseif syntax

    PHP uses elseif (condition) with parentheses and no space between else and if.
  2. Step 2: Compare options

    if (condition1) {} elseif (condition2) {} else {} matches correct syntax; others have syntax errors like missing parentheses or wrong spacing.
  3. Final Answer:

    if (condition1) {} elseif (condition2) {} else {} -> Option A
  4. Quick Check:

    Correct elseif syntax = if (condition1) {} elseif (condition2) {} else {} [OK]
Hint: Use 'elseif' as one word with parentheses [OK]
Common Mistakes:
  • Writing 'else if' as two words in PHP
  • Omitting parentheses around conditions
  • Missing curly braces
3.

What will be the output of this PHP code?

<?php
$score = 75;
if ($score >= 90) {
    echo "Grade A";
} elseif ($score >= 80) {
    echo "Grade B";
} elseif ($score >= 70) {
    echo "Grade C";
} else {
    echo "Grade F";
}
?>
medium
A. Grade A
B. Grade F
C. Grade B
D. Grade C

Solution

  1. Step 1: Check conditions in order

    Score is 75. First condition (>=90) is false, second (>=80) false, third (>=70) true.
  2. Step 2: Determine executed block

    Since third condition is true, it prints "Grade C" and skips else.
  3. Final Answer:

    Grade C -> Option D
  4. Quick Check:

    75 >= 70 = Grade C [OK]
Hint: Check conditions top to bottom, first true runs [OK]
Common Mistakes:
  • Choosing Grade B or A incorrectly
  • Ignoring elseif order
  • Assuming else runs always
4.

Find the error in this PHP code snippet:

<?php
$age = 20;
if ($age > 18) {
    echo "Adult";
} elseif $age >= 13 {
    echo "Teenager";
} else {
    echo "Child";
}
?>
medium
A. Missing parentheses around elseif condition
B. Missing semicolon after echo statements
C. Incorrect variable name in elseif
D. No else block present

Solution

  1. Step 1: Review elseif syntax

    In PHP, conditions must be inside parentheses, but here elseif lacks parentheses.
  2. Step 2: Check other parts

    Echo statements have semicolons, variable names are correct, else block exists.
  3. Final Answer:

    Missing parentheses around elseif condition -> Option A
  4. Quick Check:

    Parentheses required for elseif condition [OK]
Hint: Always put conditions in parentheses [OK]
Common Mistakes:
  • Forgetting parentheses in elseif
  • Confusing semicolon placement
  • Assuming else block is optional
5.

You want to assign a category based on age using an elseif ladder. Which code correctly assigns "Child" for age < 13, "Teen" for age between 13 and 19 inclusive, and "Adult" for age 20 or more?

<?php
$age = 15;
if ($age < 13) {
    $category = "Child";
} elseif ($age >= 13 && $age <= 19) {
    $category = "Teen";
} else {
    $category = "Adult";
}
echo $category;
?>
hard
A. Syntax error due to missing elseif keyword
B. Correctly assigns categories as required
C. Assigns "Adult" for age 19 incorrectly
D. Assigns "Child" for age 13 incorrectly

Solution

  1. Step 1: Check age ranges in conditions

    First condition covers age less than 13, second covers 13 to 19 inclusive, else covers 20 or more.
  2. Step 2: Verify assignment and output

    Each category is assigned correctly based on age, and echo prints the category.
  3. Final Answer:

    Correctly assigns categories as required -> Option B
  4. Quick Check:

    Age ranges match categories perfectly [OK]
Hint: Use && to combine conditions in elseif [OK]
Common Mistakes:
  • Overlapping or missing age ranges
  • Using else if instead of elseif in PHP
  • Forgetting to echo the category
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard