A do-while loop runs a block of code at least once, then repeats it while a condition is true.
Do-while loop execution model in PHP
Introduction
Syntax
PHP
do { // code to run } while (condition);
The code inside do { } runs first, before the condition is checked.
The loop repeats only if the condition after while is true.
Examples
PHP
<?php $count = 1; do { echo "Count is $count\n"; $count++; } while ($count <= 3); ?>
PHP
<?php $x = 5; do { echo "Hello\n"; } while ($x < 3); ?>
Sample Program
This program prints numbers from 1 to 5. It runs the code first, then checks if the number is still 5 or less to continue.
PHP
<?php $number = 1; do { echo "Number: $number\n"; $number++; } while ($number <= 5); ?>
Important Notes
Unlike a while loop, a do-while loop always runs the code block at least once.
Remember to update variables inside the loop to avoid infinite loops.
Summary
A do-while loop runs code first, then checks the condition.
It is useful when the code must run at least once.
Use it when the condition depends on the code inside the loop.
Practice
1. What is the main difference between a
do-while loop and a while loop in PHP?easy
Solution
Step 1: Understand the execution order of
Ado-whileloopdo-whileloop runs the code block first, then checks the condition to decide if it should repeat.Step 2: Compare with
Awhileloop behaviorwhileloop checks the condition first before running the code block, so it may not run at all if the condition is false initially.Final Answer:
do-whileloop executes the code block at least once before checking the condition. -> Option BQuick Check:
do-whileruns code once before condition check [OK]
Hint: Remember: do-while runs code first, then checks condition [OK]
Common Mistakes:
- Thinking while loop runs code before condition check
- Believing do-while skips condition check
- Confusing execution order of loops
2. Which of the following is the correct syntax for a
do-while loop in PHP?easy
Solution
Step 1: Recall PHP
The correct syntax is:do-whilesyntaxdo { /* code */ } while (condition);with a semicolon after the while condition.Step 2: Identify incorrect options
Options A, C, and D use wrong keywords or misplaced parentheses, which are invalid in PHP.Final Answer:
do { /* code */ } while (condition); -> Option AQuick Check:
Correctdo-whilesyntax ends with semicolon [OK]
Hint: Syntax: do { } while(condition); ends with semicolon [OK]
Common Mistakes:
- Omitting semicolon after while condition
- Using 'until' instead of 'while'
- Placing condition before code block
3. What will be the output of the following PHP code?
$i = 3;
do {
echo $i . ' ';
$i--;
} while ($i > 0);medium
Solution
Step 1: Trace the loop iterations
Initial value: $i = 3. Loop prints $i then decrements it. Iterations:
1) print 3, $i=2
2) print 2, $i=1
3) print 1, $i=0Step 2: Check loop condition after each iteration
Loop continues while $i > 0. After printing 1, $i becomes 0, condition fails, loop stops.Final Answer:
3 2 1 -> Option AQuick Check:
Loop prints 3,2,1 then stops [OK]
Hint: do-while runs once before condition; count down from 3 [OK]
Common Mistakes:
- Including 0 in output
- Starting output from 1 instead of 3
- Confusing pre- and post-decrement
4. Identify the error in this PHP
do-while loop:$count = 1;
do {
echo $count;
$count++
} while ($count <= 3);medium
Solution
Step 1: Check each line for syntax errors
The line$count++is missing a semicolon at the end, which is required in PHP.Step 2: Verify other parts of the loop
The loop condition and variable initialization are correct. The use ofdois proper for a do-while loop.Final Answer:
Missing semicolon after$count++-> Option CQuick Check:
Every statement must end with semicolon [OK]
Hint: Check for missing semicolons inside loop [OK]
Common Mistakes:
- Forgetting semicolon after statements
- Misplacing loop condition parentheses
- Confusing do-while with while syntax
5. You want to read user input at least once and continue reading while the input is not empty. Which PHP
do-while loop correctly implements this?do {
$input = trim(fgets(STDIN));
// process input
} ???;hard
Solution
Step 1: Understand the input condition
We want to continue reading while input is not empty. The PHP functionempty()returns true if input is empty.Step 2: Choose the correct condition
Usingwhile (!empty($input));means loop continues while input has some content, stopping when empty.Final Answer:
while (!empty($input)); -> Option DQuick Check:
Loop continues while input is not empty [OK]
Hint: Use while(!empty($input)) to loop until input is empty [OK]
Common Mistakes:
- Using equality to empty string incorrectly
- Using condition that stops loop too early
- Confusing empty() with isset()
Recommended
Ready to prove it?
Pass the test and this pattern moves unknown
10 questions ~5 mineasy hard
