Bird
Raised Fist0
PHPprogramming~5 mins

For loop execution model in PHP - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: For loop execution model
O(n)
Understanding Time Complexity

We want to understand how the time a for loop takes changes as we increase the number of times it runs.

How does the work inside the loop grow when the loop runs more times?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


for ($i = 0; $i < $n; $i++) {
    echo $i . "\n";
}
    

This code prints numbers from 0 up to one less than $n. It runs the loop $n times.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The echo statement inside the for loop.
  • How many times: Exactly $n times, once for each loop cycle.
How Execution Grows With Input

As $n grows, the number of times the loop runs grows the same way.

Input Size (n)Approx. Operations
1010 times
100100 times
10001000 times

Pattern observation: The work grows directly with the input size. Double the input, double the work.

Final Time Complexity

Time Complexity: O(n)

This means the time it takes grows in a straight line with the number of loop runs.

Common Mistake

[X] Wrong: "The loop runs faster because it just prints numbers."

[OK] Correct: Printing still happens every time the loop runs, so the time grows with the number of loops, not faster.

Interview Connect

Understanding how loops grow with input size helps you explain code efficiency clearly and confidently in interviews.

Self-Check

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

Practice

(1/5)
1. What is the role of the condition part in a PHP for loop?
easy
A. It decides if the loop should continue running or stop.
B. It sets the starting value of the loop variable.
C. It changes the loop variable after each iteration.
D. It runs only after the loop finishes.

Solution

  1. Step 1: Understand the for loop parts

    A PHP for loop has three parts: initialization, condition, and increment.
  2. Step 2: Identify the condition's role

    The condition is checked before each loop run to decide if the loop continues or stops.
  3. Final Answer:

    It decides if the loop should continue running or stop. -> Option A
  4. Quick Check:

    Condition controls loop continuation = It decides if the loop should continue running or stop. [OK]
Hint: Condition controls loop stop or continue [OK]
Common Mistakes:
  • Confusing initialization with condition
  • Thinking increment runs before loop starts
  • Believing condition runs after loop ends
2. Which of the following is the correct syntax for a PHP for loop that counts from 0 to 4?
easy
A. for $i = 0; $i <= 4; $i++ {}
B. for ($i = 0; $i < 4; $i--) {}
C. for ($i = 0; $i <= 4; ++i) {}
D. for ($i = 0; $i <= 4; $i++) {}

Solution

  1. Step 1: Check for loop syntax rules

    PHP for loops require parentheses around initialization, condition, and increment, separated by semicolons.
  2. Step 2: Validate each option

    for ($i = 0; $i <= 4; $i++) {} uses correct syntax with $i starting at 0, condition $i <= 4, and increment $i++. Others have syntax errors or wrong increments.
  3. Final Answer:

    for ($i = 0; $i <= 4; $i++) {} -> Option D
  4. Quick Check:

    Correct for loop syntax = for ($i = 0; $i <= 4; $i++) {} [OK]
Hint: Use parentheses and semicolons correctly in for loops [OK]
Common Mistakes:
  • Missing parentheses around for loop parts
  • Using ++i without $ sign
  • Wrong increment direction (i-- instead of i++)
3. What will be the output of this PHP code?
$sum = 0;
for ($i = 1; $i <= 3; $i++) {
    $sum += $i;
}
echo $sum;
medium
A. 6
B. 123
C. 3
D. 0

Solution

  1. Step 1: Trace the loop iterations

    The loop runs with $i = 1, 2, 3. Each time, $sum adds $i: 0+1=1, 1+2=3, 3+3=6.
  2. Step 2: Calculate final sum

    After the loop, $sum is 6, which is printed by echo.
  3. Final Answer:

    6 -> Option A
  4. Quick Check:

    Sum 1+2+3 = 6 [OK]
Hint: Add loop variable each iteration to sum [OK]
Common Mistakes:
  • Concatenating numbers instead of adding
  • Starting loop at 0 instead of 1
  • Using wrong loop condition
4. Identify the error in this PHP for loop:
for ($i = 0; $i < 5; $i) {
    echo $i;
}
medium
A. Condition should be $i <= 5.
B. Missing increment operation in the loop header.
C. Initialization is incorrect.
D. Echo statement syntax is wrong.

Solution

  1. Step 1: Examine the for loop header

    The loop header has initialization ($i = 0), condition ($i < 5), but increment is just $i without ++ or --.
  2. Step 2: Identify the missing increment

    Without increment like $i++, the loop variable never changes, causing an infinite loop or no progress.
  3. Final Answer:

    Missing increment operation in the loop header. -> Option B
  4. Quick Check:

    Increment missing = Missing increment operation in the loop header. [OK]
Hint: Ensure increment changes loop variable each time [OK]
Common Mistakes:
  • Forgetting ++ or -- in increment
  • Changing condition to wrong comparison
  • Misplacing semicolons in loop header
5. You want to print all even numbers from 2 to 10 using a PHP for loop. Which code correctly does this?
hard
A. for ($i = 2; $i < 10; $i += 2) { echo $i . ' '; }
B. for ($i = 0; $i <= 10; $i += 2) { echo $i . ' '; }
C. for ($i = 1; $i <= 10; $i++) { if ($i % 2 == 0) echo $i . ' '; }
D. for ($i = 2; $i < 10; $i++) { if ($i % 2 == 0) echo $i . ' '; }

Solution

  1. Step 1: Understand the goal

    We want to print even numbers from 2 to 10 inclusive.
  2. Step 2: Check each option

    for ($i = 2; $i < 10; $i += 2) { echo $i . ' '; } prints 2 4 6 8, missing 10. for ($i = 1; $i <= 10; $i++) { if ($i % 2 == 0) echo $i . ' '; } loops 1 to 10 and prints only even numbers 2 4 6 8 10 correctly. for ($i = 2; $i < 10; $i++) { if ($i % 2 == 0) echo $i . ' '; } stops at 9, missing 10. for ($i = 0; $i <= 10; $i += 2) { echo $i . ' '; } starts at 0, which is not in the range 2 to 10.
  3. Step 3: Choose the best option

    for ($i = 1; $i <= 10; $i++) { if ($i % 2 == 0) echo $i . ' '; } is correct and flexible, printing even numbers by checking inside the loop.
  4. Final Answer:

    for ($i = 1; $i <= 10; $i++) { if ($i % 2 == 0) echo $i . ' '; } -> Option C
  5. Quick Check:

    Loop 1-10, print if even = for ($i = 1; $i <= 10; $i++) { if ($i % 2 == 0) echo $i . ' '; } [OK]
Hint: Use modulo % to check even numbers inside loop [OK]
Common Mistakes:
  • Stopping loop before 10
  • Starting loop at 0 when not needed
  • Forgetting to check even condition
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