Bird
Raised Fist0
PHPprogramming~10 mins

Script execution and memory reset in PHP - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Script execution and memory reset
Start script execution
↓
Execute code line by line
↓
Variables stored in memory
↓
End of script reached
↓
Memory cleared, variables reset
↓
Script execution ends
PHP runs the script from top to bottom, storing variables in memory during execution. When the script ends, all memory is cleared and variables reset.
Execution Sample
PHP
<?php
$a = 5;
echo $a;
?>
This script sets a variable $a to 5, prints it, then ends, clearing memory.
Execution Table
StepActionVariable StateOutput
1Start script executionNo variables
2Assign $a = 5$a = 5
3Print $a$a = 55
4End of script$a = 5 (about to clear)
5Memory clearedNo variables
💡 Script ends, PHP clears all variables from memory
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 5
$aundefined55undefined
Key Moments - 2 Insights
Why does $a become undefined after the script ends?
Because PHP clears all variables from memory when the script finishes, as shown in execution_table step 5.
Does the value of $a persist between different script runs?
No, each script run starts fresh with no variables, as shown in execution_table step 1 and 5.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of $a after step 2?
Aundefined
B0
C5
Dnull
💡 Hint
Check the 'Variable State' column at step 2 in execution_table
At which step does the script output the value 5?
AStep 1
BStep 3
CStep 2
DStep 5
💡 Hint
Look at the 'Output' column in execution_table
If the script had another line after step 3 that changed $a to 10, what would be $a's value at step 4?
A10
B5
Cundefined
Dnull
💡 Hint
Variable changes persist until script ends, see variable_tracker pattern
Concept Snapshot
PHP script runs top to bottom.
Variables exist only during execution.
At script end, all variables are cleared.
Each run starts with fresh memory.
Output happens during execution only.
Full Transcript
This visual trace shows how a PHP script executes line by line. First, the script starts with no variables in memory. Then, the variable $a is assigned the value 5. Next, the script prints the value of $a, which outputs 5. After the script reaches the end, PHP clears all variables from memory, resetting $a to undefined. This means each time the script runs, it starts fresh with no leftover data from before. Understanding this helps beginners know why variables do not keep their values between script runs.

Practice

(1/5)
1. What happens to variables in a PHP script after the script finishes running?
easy
A. Variables are saved permanently in the script file
B. Variables keep their values until the server restarts
C. All variables and memory are reset and cleared
D. Variables are shared with other scripts automatically

Solution

  1. Step 1: Understand PHP script execution

    PHP runs scripts from top to bottom each time the page loads.
  2. Step 2: Memory and variable reset after execution

    After the script finishes, all variables and memory used are cleared to keep the environment clean.
  3. Final Answer:

    All variables and memory are reset and cleared -> Option C
  4. Quick Check:

    PHP resets variables after script ends = C [OK]
Hint: Remember PHP resets memory after each script run [OK]
Common Mistakes:
  • Thinking variables keep values between page loads
  • Assuming variables save to the script file
  • Believing variables are shared across scripts automatically
2. Which of the following is the correct way to start a PHP script that resets variables each time it runs?
easy
A.
B.
C.
D. // PHP code here

Solution

  1. Step 1: Identify correct PHP tags

    PHP scripts start with to run properly.
  2. Step 2: Understand script resets

    Each time the script runs, variables reset automatically without extra commands.
  3. Final Answer:

    -> Option A
  4. Quick Check:

    Correct PHP tags = A [OK]
Hint: Use tags to start PHP scripts [OK]
Common Mistakes:
  • Using <script> tags which are for JavaScript
  • Trying to call reset() function which doesn't reset variables
  • Using incorrect <php> tags
3. Consider this PHP code run twice in a row (two separate page loads):
<?php
$counter = 0;
$counter++;
echo $counter;
?>

What will be the output each time the script runs?
medium
A. 1 then 1
B. 0 then 1
C. 1 then 2
D. 0 then 0

Solution

  1. Step 1: Analyze variable initialization

    Each time the script runs, $counter is set to 0 at the start.
  2. Step 2: Increment and output

    $counter++ increases $counter to 1, then echo prints 1 each time.
  3. Final Answer:

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

    Variables reset each run, so output is 1 each time [OK]
Hint: Variables reset each run, so counter restarts at 0 [OK]
Common Mistakes:
  • Assuming $counter keeps incrementing across runs
  • Confusing pre-increment and post-increment
  • Thinking echo prints 0 first
4. You wrote this PHP code:
<?php
$sum = 10;
$sum += 5;
?>

But after refreshing the page, $sum is always 15. You want $sum to keep increasing by 5 each time the page loads. What is the problem?
medium
A. You need to use a loop to increase $sum
B. The += operator does not add values correctly
C. You forgot to declare $sum as global
D. PHP resets variables after each script run, so $sum starts at 10 every time

Solution

  1. Step 1: Understand variable reset behavior

    PHP clears all variables after each script finishes, so $sum resets to 10 every time.
  2. Step 2: Why $sum does not keep increasing

    Because $sum is reinitialized to 10 on each page load, adding 5 results in 15 always.
  3. Final Answer:

    PHP resets variables after each script run, so $sum starts at 10 every time -> Option D
  4. Quick Check:

    Variables reset each run = D [OK]
Hint: Variables reset each run; use sessions or files to keep values [OK]
Common Mistakes:
  • Thinking += operator is faulty
  • Assuming global declaration keeps value between runs
  • Believing loops affect variable persistence
5. You want to count how many times a PHP page has been loaded by visitors. Since PHP resets variables each run, which method should you use to keep the count across page loads?
hard
A. Declare the count variable as global inside the script
B. Store the count in a session or a file/database to persist data
C. Use a loop to increment the count variable inside the script
D. Reset the count variable to zero at the start of the script

Solution

  1. Step 1: Recognize PHP variable reset limitation

    PHP variables reset after each script run, so count cannot persist in normal variables.
  2. Step 2: Use persistent storage

    Sessions, files, or databases store data between page loads to keep count.
  3. Final Answer:

    Store the count in a session or a file/database to persist data -> Option B
  4. Quick Check:

    Persistent storage needed for count across runs = B [OK]
Hint: Use sessions or files to save data between page loads [OK]
Common Mistakes:
  • Thinking global variables keep values between runs
  • Trying to use loops for persistence
  • Resetting variables each time defeats counting
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