Bird
Raised Fist0
PHPprogramming~5 mins

While loop execution model in PHP - Time & Space Complexity

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

We want to understand how the time a while loop takes changes as the input grows.

How many times does the loop run when the input gets bigger?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


$count = 0;
while ($count < $n) {
    echo $count . "\n";
    $count++;
}
    

This code prints numbers from 0 up to one less than n using a while loop.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The while loop runs repeatedly.
  • How many times: It runs once for each number from 0 to n-1, so n times.
How Execution Grows With Input

As n grows, the loop runs more times, directly matching n.

Input Size (n)Approx. Operations
10About 10 times
100About 100 times
1000About 1000 times

Pattern observation: The number of operations grows evenly as n grows.

Final Time Complexity

Time Complexity: O(n)

This means the time it takes grows in a straight line with the size of n.

Common Mistake

[X] Wrong: "The while loop runs only once no matter the input size."

[OK] Correct: The loop runs as many times as the condition allows, so it depends on n, not just once.

Interview Connect

Understanding how loops grow with input size helps you explain your code clearly and shows you know how programs behave as data grows.

Self-Check

"What if we changed the loop to increase count by 2 each time? How would the time complexity change?"

Practice

(1/5)
1.

What does a while loop do in PHP?

easy
A. Runs code a fixed number of times
B. Repeats code as long as a condition is true
C. Executes code only once
D. Stops the program immediately

Solution

  1. Step 1: Understand the while loop purpose

    A while loop repeats its code block while the condition remains true.
  2. Step 2: Compare options with definition

    Only Repeats code as long as a condition is true matches this behavior exactly.
  3. Final Answer:

    Repeats code as long as a condition is true -> Option B
  4. Quick Check:

    while loop = repeat while true [OK]
Hint: Remember: while loops run only if condition is true [OK]
Common Mistakes:
  • Thinking while loops run a fixed number of times
  • Confusing while with if statement
  • Assuming while loops always run at least once
2.

Which of the following is the correct syntax for a while loop in PHP?

?
easy
A. while ($i < 5); { echo $i; $i++; }
B. while $i < 5 { echo $i; $i++; }
C. while ($i < 5) { echo $i; $i++; }
D. while ($i < 5) echo $i; $i++;

Solution

  1. Step 1: Check correct while loop syntax

    In PHP, the condition must be in parentheses and the block in braces.
  2. Step 2: Identify syntax errors in options

    while ($i < 5) { echo $i; $i++; } uses correct parentheses and braces. Others miss braces, have semicolon errors, or missing parentheses.
  3. Final Answer:

    while ($i < 5) { echo $i; $i++; } -> Option C
  4. Quick Check:

    while (condition) { code } [OK]
Hint: Use parentheses for condition and braces for code block [OK]
Common Mistakes:
  • Omitting parentheses around condition
  • Adding semicolon after while condition
  • Not using braces for multiple statements
3.

What will be the output of this PHP code?

$i = 1;
while ($i <= 3) {
    echo $i . ' ';
    $i++;
}
medium
A. 1 2 3
B. 1 2 3 4
C. 123
D. 2 3 4

Solution

  1. Step 1: Trace the loop iterations

    Variable $i starts at 1 and increments by 1 each loop until $i > 3.
  2. Step 2: Determine output each iteration

    Outputs '1 ', then '2 ', then '3 '. Loop stops after $i becomes 4.
  3. Final Answer:

    1 2 3 -> Option A
  4. Quick Check:

    Prints 1 to 3 with spaces [OK]
Hint: Count from start to condition limit inclusive [OK]
Common Mistakes:
  • Including extra number after loop ends
  • Missing spaces in output
  • Confusing <= with < in condition
4.

Find the error in this PHP while loop code:

$i = 0;
while ($i < 3)
    echo $i;
    $i++;
medium
A. Condition syntax is wrong
B. echo statement is invalid
C. Variable $i is not initialized
D. Missing braces causes $i++ to run outside loop

Solution

  1. Step 1: Analyze loop structure without braces

    Without braces, only the first statement after while runs in loop.
  2. Step 2: Identify effect on $i++

    $i++ runs after loop ends, causing infinite loop because $i never increments inside loop.
  3. Final Answer:

    Missing braces causes $i++ to run outside loop -> Option D
  4. Quick Check:

    Braces needed to include all statements in loop [OK]
Hint: Use braces to group multiple statements in while loop [OK]
Common Mistakes:
  • Assuming indentation controls loop body
  • Forgetting to increment loop variable inside loop
  • Thinking condition syntax is incorrect
5.

You want to print all even numbers from 2 to 10 using a while loop in PHP. Which code correctly does this?

?
hard
A. $i = 2; while ($i <= 10) { echo $i . ' '; $i += 2; }
B. $i = 1; while ($i <= 10) { if ($i % 2 == 1) echo $i . ' '; $i++; }
C. $i = 2; while ($i < 10) { echo $i . ' '; $i += 2; }
D. $i = 0; while ($i <= 10) { echo $i . ' '; $i += 2; }

Solution

  1. Step 1: Identify correct start and condition

    Start at 2 and include 10, so condition is $i <= 10.
  2. Step 2: Check increment and output

    Increment by 2 to get even numbers only, and echo with space.
  3. Step 3: Compare options

    $i = 2; while ($i <= 10) { echo $i . ' '; $i += 2; } matches all criteria exactly. $i = 1; while ($i <= 10) { if ($i % 2 == 1) echo $i . ' '; $i++; } prints odd numbers: 1 3 5 7 9. $i = 2; while ($i < 10) { echo $i . ' '; $i += 2; } misses 10. $i = 0; while ($i <= 10) { echo $i . ' '; $i += 2; } starts at 0, which is not requested.
  4. Final Answer:

    $i = 2; while ($i <= 10) { echo $i . ' '; $i += 2; } -> Option A
  5. Quick Check:

    Start=2, end=10, step=2 [OK]
Hint: Start at 2, increment by 2, stop at 10 inclusive [OK]
Common Mistakes:
  • Starting at 0 or 1 instead of 2
  • Using < instead of <= to exclude 10
  • Not incrementing by 2 to get even numbers
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