Bird
Raised Fist0
PHPprogramming~5 mins

PHP process model per request - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: PHP process model per request
O(n)
Understanding Time Complexity

When PHP handles a web request, it starts fresh each time. This means the work done depends on what the request asks for.

We want to see how the time PHP takes grows as the request does more work.

Scenario Under Consideration

Analyze the time complexity of the following PHP script handling a request.


<?php
// Simulate processing a list of items per request
$items = range(1, $n); // $n is input size
foreach ($items as $item) {
    // Process each item
    echo $item . "\n";
}
?>
    

This code processes each item in a list one by one for each request.

Identify Repeating Operations

Look for loops or repeated steps.

  • Primary operation: The foreach loop that goes through each item.
  • How many times: Exactly once for each item in the list, so $n times.
How Execution Grows With Input

As the number of items grows, the work grows too.

Input Size (n)Approx. Operations
1010 loops, 10 prints
100100 loops, 100 prints
10001000 loops, 1000 prints

Pattern observation: The work grows directly with the number of items. Double the items, double the work.

Final Time Complexity

Time Complexity: O(n)

This means the time PHP takes grows in a straight line with the number of items it processes.

Common Mistake

[X] Wrong: "PHP keeps data between requests, so processing time stays the same no matter the input size."

[OK] Correct: PHP starts fresh for each request, so it must do all the work again. More items mean more work each time.

Interview Connect

Understanding how PHP handles each request helps you explain how your code scales and why efficient loops matter in real projects.

Self-Check

"What if we added a nested loop inside the foreach to process pairs of items? How would the time complexity change?"

Practice

(1/5)
1. What happens to PHP variables after a web request finishes?
easy
A. They become global variables accessible by all users
B. They keep their values for the next request automatically
C. They are stored permanently in the server memory
D. They are reset and lost unless saved externally

Solution

  1. Step 1: Understand PHP request lifecycle

    PHP starts fresh for each request, so variables exist only during that request.
  2. Step 2: Identify variable persistence

    Variables reset after request ends unless saved in sessions or databases.
  3. Final Answer:

    They are reset and lost unless saved externally -> Option D
  4. Quick Check:

    PHP variables reset each request = D [OK]
Hint: Remember: PHP starts fresh every request, no variable memory [OK]
Common Mistakes:
  • Thinking variables persist automatically between requests
  • Confusing PHP with long-running server processes
  • Assuming global variables keep values across users
2. Which PHP code snippet correctly shows the start of a new request process?
easy
A.
B.
C.
D.

Solution

  1. Step 1: Analyze variable initialization

    In a new request, variables start fresh; $count = 0 sets it properly.
  2. Step 2: Check other options for persistence

    Options A, B, D try to increment without initialization or rely on static/session which need extra setup.
  3. Final Answer:

    <?php $count = 0; echo $count; ?> -> Option C
  4. Quick Check:

    New request means fresh variables = C [OK]
Hint: Fresh request means variables start from scratch [OK]
Common Mistakes:
  • Assuming static variables keep value across requests
  • Using session without starting it
  • Incrementing uninitialized variables
3. What will be the output of this PHP code when run twice in separate requests?
<?php
session_start();
if (!isset($_SESSION['visits'])) {
  $_SESSION['visits'] = 1;
} else {
  $_SESSION['visits']++;
}
echo $_SESSION['visits'];
?>
medium
A. 1 then 2
B. 1 then 1
C. 2 then 3
D. Error on second request

Solution

  1. Step 1: Understand session persistence

    Session data keeps values across requests, so visits count increases.
  2. Step 2: Trace two requests

    First request sets visits=1; second request increments to 2.
  3. Final Answer:

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

    Session stores visits count = 1 then 2 [OK]
Hint: Sessions keep data between requests, variables do not [OK]
Common Mistakes:
  • Thinking variables persist without sessions
  • Forgetting to call session_start()
  • Expecting static variables to persist across requests
4. Identify the error in this PHP code snippet that tries to keep a counter across requests:
<?php
$count = 0;
$count++;
echo $count;
?>
medium
A. Variables reset each request, so counter never increases
B. Syntax error due to missing semicolon
C. Session not started, so counter is undefined
D. Static variable needed to keep count

Solution

  1. Step 1: Check variable behavior per request

    $count is set to 0 every time, so increment always starts fresh.
  2. Step 2: Identify persistence issue

    Without sessions or external storage, counter resets each request.
  3. Final Answer:

    Variables reset each request, so counter never increases -> Option A
  4. Quick Check:

    Variables reset each request = A [OK]
Hint: Variables reset each request; use sessions to persist [OK]
Common Mistakes:
  • Assuming static variables persist across requests
  • Confusing syntax errors with logic errors
  • Forgetting to start sessions for persistence
5. You want to count unique visitors to your PHP website. Which approach correctly uses PHP's process model per request to achieve this?
hard
A. Use a static variable in PHP script to count visitors
B. Store visitor count in a database and increment on each request
C. Increment a PHP variable without sessions or storage
D. Rely on PHP variables to keep count across requests

Solution

  1. Step 1: Understand PHP process model limits

    PHP variables reset each request, so they can't keep visitor count.
  2. Step 2: Identify persistent storage method

    Database stores data permanently and can be updated each request.
  3. Final Answer:

    Store visitor count in a database and increment on each request -> Option B
  4. Quick Check:

    Persistent storage needed for visitor count = A [OK]
Hint: Use database or sessions to save data beyond request [OK]
Common Mistakes:
  • Using static or normal variables expecting persistence
  • Ignoring need for external storage
  • Confusing sessions with static variables
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