Bird
Raised Fist0
PHPprogramming~5 mins

Nested conditional execution in PHP - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Nested conditional execution
O(1)
Understanding Time Complexity

We want to see how the time a program takes changes when it uses nested conditions.

Specifically, we ask: does adding more conditions inside each other make the program slower as input grows?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


function checkNumber(int $num): string {
    if ($num > 0) {
        if ($num % 2 === 0) {
            return "Positive even";
        } else {
            return "Positive odd";
        }
    } else {
        return "Zero or negative";
    }
}
    

This code checks if a number is positive and then if it is even or odd, using nested if statements.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: There are no loops or repeated steps here, only simple if checks.
  • How many times: Each condition runs once per function call.
How Execution Grows With Input

The number of steps does not increase with the size of the input number.

Input Size (n)Approx. Operations
103 checks
1003 checks
10003 checks

Pattern observation: The steps stay the same no matter how big the number is.

Final Time Complexity

Time Complexity: O(1)

This means the program takes the same amount of time no matter the input size.

Common Mistake

[X] Wrong: "Nested ifs always make the program slower as input grows."

[OK] Correct: Nested conditions just check one after another once; they do not repeat or grow with input size.

Interview Connect

Understanding how nested conditions affect time helps you explain your code clearly and shows you know when complexity grows or stays steady.

Self-Check

"What if we added a loop inside the nested ifs? How would the time complexity change?"

Practice

(1/5)
1.

What does nested conditional execution mean in PHP?

easy
A. Running PHP code without any conditions
B. Writing multiple if statements one after another without nesting
C. Using only one if statement without any else
D. Using an if or else statement inside another if or else block

Solution

  1. Step 1: Understand conditional statements

    Conditional statements like if and else let the program choose actions based on conditions.
  2. Step 2: Define nested conditionals

    Nested conditionals mean placing one conditional inside another to check multiple conditions step-by-step.
  3. Final Answer:

    Using an if or else statement inside another if or else block -> Option D
  4. Quick Check:

    Nested conditionals = condition inside condition [OK]
Hint: Look for conditions placed inside other conditions [OK]
Common Mistakes:
  • Thinking multiple separate ifs are nested
  • Confusing nested with chained conditions
  • Ignoring the inner condition placement
2.

Which of the following is the correct syntax for nested if statements in PHP?

<?php
if ($a > 0) {
    if ($b < 10) {
        echo "Inside nested if";
    }
}
?>
easy
A. Using elseif instead of nested if
B. Correct syntax with braces and proper nesting
C. Missing braces around inner if block
D. Using parentheses incorrectly around conditions

Solution

  1. Step 1: Check braces usage

    Both outer and inner if statements have braces to define their blocks properly.
  2. Step 2: Verify condition syntax

    Conditions use parentheses correctly and logical operators are valid.
  3. Final Answer:

    Correct syntax with braces and proper nesting -> Option B
  4. Quick Check:

    Proper braces and nesting = correct syntax [OK]
Hint: Always use braces {} for nested blocks [OK]
Common Mistakes:
  • Omitting braces causing syntax errors
  • Misplacing parentheses in conditions
  • Confusing elseif with nested if
3.

What will be the output of the following PHP code?

<?php
$x = 5;
$y = 8;
if ($x > 3) {
    if ($y < 10) {
        echo "A";
    } else {
        echo "B";
    }
} else {
    echo "C";
}
?>
medium
A. No output
B. B
C. A
D. C

Solution

  1. Step 1: Evaluate outer if condition

    $x = 5, which is greater than 3, so the outer if block runs.
  2. Step 2: Evaluate inner if condition

    $y = 8, which is less than 10, so the inner if block runs and prints "A".
  3. Final Answer:

    A -> Option C
  4. Quick Check:

    5 > 3 and 8 < 10 = A [OK]
Hint: Check outer condition first, then inner [OK]
Common Mistakes:
  • Ignoring inner condition result
  • Confusing else blocks
  • Assuming else runs when condition is true
4.

Find the error in this nested conditional PHP code:

<?php
$a = 10;
if ($a > 5)
    if ($a < 15)
        echo "Inside nested if";
    else
        echo "Outside nested if";
?>
medium
A. Missing braces causing else to pair with wrong if
B. Incorrect comparison operators
C. Echo statements missing semicolons
D. Variable $a not defined

Solution

  1. Step 1: Analyze if-else pairing without braces

    Without braces, the else pairs with the nearest if, which is the inner one.
  2. Step 2: Understand the problem

    This can cause confusion or unexpected behavior because the outer if has no else block explicitly.
  3. Final Answer:

    Missing braces causing else to pair with wrong if -> Option A
  4. Quick Check:

    Braces needed to clarify else pairing [OK]
Hint: Always use braces to avoid else ambiguity [OK]
Common Mistakes:
  • Assuming else pairs with outer if
  • Ignoring indentation as syntax guide
  • Missing semicolons (not the issue here)
5.

Given the following PHP code, what will be the output?

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

Solution

  1. Step 1: Check first condition

    $score = 75, which is not >= 90, so skip first if block.
  2. Step 2: Check second condition

    $score >= 75 is true, so enter second if.
  3. Step 3: Check nested condition inside second if

    $score >= 80 is false (75 < 80), so execute else and print "Grade B".
  4. Final Answer:

    Grade B -> Option A
  5. Quick Check:

    75 >= 75 but < 80 = Grade B [OK]
Hint: Follow conditions top-down carefully [OK]
Common Mistakes:
  • Confusing >= 75 and >= 80 checks
  • Skipping nested else block
  • Assuming 75 is >= 80
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