A for loop helps you repeat a set of actions many times without writing the same code again and again.
For loop execution model in PHP
Introduction
Syntax
PHP
for (initialization; condition; increment) { // code to repeat }
Initialization runs once at the start to set up the loop.
Condition is checked before each loop; if false, the loop stops.
Examples
PHP
<?php for ($i = 0; $i < 5; $i++) { echo $i . "\n"; } ?>
PHP
<?php for ($count = 10; $count > 0; $count--) { echo $count . "\n"; } ?>
PHP
<?php for ($x = 2; $x <= 10; $x += 2) { echo $x . "\n"; } ?>
Sample Program
This program uses a for loop to print the word 'Number:' followed by numbers 1 through 5, each on a new line.
PHP
<?php // Print numbers from 1 to 5 for ($i = 1; $i <= 5; $i++) { echo "Number: $i\n"; } ?>
Important Notes
The loop runs as long as the condition is true.
If the condition is false at the start, the loop body does not run at all.
You can change the increment to add or subtract any value, not just 1.
Summary
A for loop repeats code with a clear start, stop, and step.
It helps avoid writing the same code many times.
Initialization runs once, condition checks before each repeat, increment changes the loop variable.
Practice
1. What is the role of the
condition part in a PHP for loop?easy
Solution
Step 1: Understand the for loop parts
A PHP for loop has three parts: initialization, condition, and increment.Step 2: Identify the condition's role
The condition is checked before each loop run to decide if the loop continues or stops.Final Answer:
It decides if the loop should continue running or stop. -> Option AQuick 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
Solution
Step 1: Check for loop syntax rules
PHP for loops require parentheses around initialization, condition, and increment, separated by semicolons.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.Final Answer:
for ($i = 0; $i <= 4; $i++) {} -> Option DQuick 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
Solution
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.Step 2: Calculate final sum
After the loop, $sum is 6, which is printed by echo.Final Answer:
6 -> Option AQuick 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
Solution
Step 1: Examine the for loop header
The loop header has initialization ($i = 0), condition ($i < 5), but increment is just $i without ++ or --.Step 2: Identify the missing increment
Without increment like $i++, the loop variable never changes, causing an infinite loop or no progress.Final Answer:
Missing increment operation in the loop header. -> Option BQuick 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
Solution
Step 1: Understand the goal
We want to print even numbers from 2 to 10 inclusive.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.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.Final Answer:
for ($i = 1; $i <= 10; $i++) { if ($i % 2 == 0) echo $i . ' '; } -> Option CQuick 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
10 questions ~5 mineasy hard
