Flow control – For, While and Do-while loops
At the end of this post you will be able to demonstrate how to create and when to apply:
- A for loop
- A while loop
- A do… while loop
What are loops?
Loops will:
- Continue to perform an action until a certain condition is met
- Unlike an if/else statement which finish after the next closing brace a condition is checked again until it is met
Why bother with loops?
- Prevents writing the same instruction more than twice
- Unlike an if statement it will repeat or iterate until a condition is met
- Provides cleaner more efficient code
Loops in context
The loop will continue until the condition is met:
The difference between if/else and loops
- while – loops through a block of code while a specified condition is true
- do…while – loops through a block of code once, and then repeats the loop as long as a specified condition is true
- for – loops through a block of code a specified number of times
- foreach – loops through a block of code for each element in an array
Introducing the ‘While’ loop
Key facts about the while loop:
The While loop Will iterate while a condition is true
while (condition){
code to be executed;
}
Let’s see a while loop in action
//Declare a variable
$i=1;
//Set and test condition
while($i<=5)
{
echo "The number is " . $i . "
";
$i++;
}
Output: The number is 5
Introducing ‘Do… While’
The DO-WHILE is an interesting one… The way it works is the code will always run once before the condition is tested. I guess a scenario would be write to a log file once to say the loop has started and then write more actions as the loop progresses.
So what does it look like
//Declare a variable
$i=1;
//Set and test condition
do
{
$i++;
echo "The number is " . $i . "
";
}
while ($i<=5);
Key facts about Do… While:
- The do…while statement will always execute the block of code once
- It will then check the condition, and repeat the loop while the condition is true.
Task: Try it yourself by setting the $i variable to ‘5’. The loop will still run once.
The for loop
The for loop is is different from the while in that can take more parameters – three in total. It is often considered that a for loop is best used when you know exactly how many iterations you have to complete based on a total given.
The for loop in action
//Set and test condition
for ($i=1; $i<=5; $i++)
{
echo "The number is " . $i . "
";
}
Output: The number is 5
The foreach loop
Key facts about the foreach loop:
The foreach loop is designed to work with arrays.
The loop iterates through the list and assigns each lit item in the array to a variable or to another array.
//Create indexed array
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
//Call PHP's inbuilt count array function
$result = count($a);
$i = 0;
//Construct for loop
//NOTE: < operator as all arrays start with zero which in array terms counts as one
foreach($a as $row)
{
if($row == 3)
{
echo $row;
}
else
{
echo "This is not three!";
}
}
Just to spice things up I have used an if/else statement with the loop just to demonstrate how conditional statements can be used in conjunction with loops.
Task: to consolidate your learning build this:
Using the examples we have just explored build a small application with a for or while loop. The loop must loop through a list of items and add a value of £3 delivery charge on to any figure less than £10.
What have we explored?
In lesson post we have:
Demonstrated how to create and when to apply:
- A for loop
- A while loop
- A do… while loop
- Built a simple application using a loop to consolidate your learning


No Comments