PHP loops
Imagine you have to write a program which performs a repetitive task such as counting from 1 to 100. Coding 100 lines to do this task would be mundane. There has to be an easier way, right? This is where loops come into the picture. Loops are specifically designed to perform repetitive tasks with one set of code. Loops save alot of time.
This lesson focuses on:
- The for loop
- The while loop
- The do-while loop
- Preventing endless loops
- Breaking out of a loop
- Continuing a loop
The for loop
The for loop is used to repeat a task a set number of times.
Syntax:
for(var a_variable = initial_value; a_variable < end_value;
a_variable_increment){
code to be executed;
}
Example:
<?php
for($a = 1; $a < 11; $a++){
print $a . "<br />";
}
?>
Output:
1
2
3
4
5
6
7
8
9
10
The for loop has three parts:
-
variable declaration
The variable declaration is the first part of the loop which initializes the variable at the beginning of the loop to some value. This value is the starting point of the loop.
-
condition
The condition is the second part of the loop, and it is the part that decides whether the loop will continue running or not. While the condition in the loop is true, it will continue running. Once the condition becomes false, the loop will stop.
-
increment statement
The increment statement is the third part of the loop. It is the part of the loop that changes the value of the variable created in the variable declaration part of the loop. The increment statement is the part of the loop which will eventually stop the loop from running.
Based on the above explanation of each part of the for loop, lets take a look at the loop example from earlier in the lesson and take it apart to see what each part does. Remember, that this loop prints to the screen the numbers 1 - 10.
The loop from earlier in the lesson:
for($a = 1; $a < 11; $a++){
document.write($a . "<br />");
}
-
$a = 1
This is the variable declaration part of the loop. A variable named a is declared with a value of 1.
-
$a < 11
This is the condition of the loop. It states that as long as the variable a is less than 11, the loop should keep running.
-
$a++
This is the increment statement part of the loop. It states that for every iteration of the loop, the value of the variable a should increase by 1. Recall that initially a is 1.
The while loop
The while loop works differently than the for loop. The for loop repeats a segment of code a specific number of times, while the while loop repeats a segment of code an unknown number of times.
Syntax:
while(condition){
execute this code;
}
Example:
<?php
$num = 0;
while($num < 25){
$num = $num + 5;
print $num . "<br />";
}
?>
Output:
10
15
20
25
In the above code, a variable named num is initialized with the value of 0. The condition in the while loop is that while num is less than 25, 5 should be added to num. Once the value of num is greater than 25, the loop will stop executing.
The do-while loop
The do-while loop is very similar to the while loop, but it does things in reverse order. The mechanism of the while loop is - while a condition is true, perform a certain action. The mechanism of the do-while loop is - perform a certain action while a condition is true.
Syntax:
do{
execute this code;
}
while (condition);
Example:
<?php
$num = 0;
do{
$num = $num + 5;
print $num . "<br />";
}
while ($num < 25);
?>
Output:
10
15
20
25
In the above code, a variable named num is initialized with the value of 5. The condition in the do-while loop is that while num is less than 25, 5 should be added to num. Once the value of num is greater than 25, the loop will stop executing.
Preventing endless loops
A necessary precaution when working with a loop is to make sure that the loop is not endless. This occurs when the condition in a loop never becomes false. To prevent endless loops, you need to ensure that the condition in a loop will eventually become false.
Example of an endless for loop:
<?php
for($a = 10; $a > 5; $a++){
print $a;
}
?>
This example initializes the variable a with the value of 10, and states that as long as a is greater than 5, add 1 to it. Based on the variable declaration and the increment statement, a will always be greater than 5 in this loop, and thus, it is an endless loop.
Example of an endless while loop:
<?php
$a = 50;
while($a > 10){
$a++;
}
?>
This example initializes the variable a with the value of 50, and states that as long as a is greater than 10, add one to a. Based on the variable declaration and the increment statement, a will always be greater than 10 in this loop, and thus, it is an endless loop.
Example of an endless do-while loop:
<?php
$a = 50;
do {
$a = $a + 10;
}
while($a > 40);
?>
This example initializes the variable a with the value of 50, and states that as long as a is greater than 40, add 10 to a. Based on the variable declaration and the increment statement, a will always be greater than 40 in this loop, and thus, it is an endless loop.
Breaking out of a loop
You can completely break out of a loop when it is still running. This is achieved with the break keyword. Once a loop is exited, the first statement right after it will be executed. The break keyword provides an easy way to exit a loop if an error occurs, or if you found what you were looking for.
Example:
<?php
for($a = 0; $a < 10; $a++){
print $a . "<br />";
if($a == 5){
break;
}
}
print "<br />You have exited the loop.";
?>
In the above example, the for loop is set to iterate 9 times and print the current value of the variable a during each iteration. The if statement within the loop states that when the variable a is equal to 5, break out of the loop.
The output of this code will be:
0
1
2
3
4
5
You have exited the loop.
Continuing a loop
While you can break out of a loop completely with the break keyword, there is another keyword used when working with loops - the continue keyword. Using the continue keyword in a loop will stop the loop at some point and continue with the next iteration of the loop from the beginning of it.
Example:
<?php
for($a = 0; $a < 10; $a++){
if($a == 5){
continue;
}
print $a . "<br />";
}
?>
In the above example, the for loop is set to iterate 9 times and print the current value of the variable a during each iteration. The if statement within the loop states that when the variable a is equal to 5, stop the loop and continue with the next iteration of the loop from the beginning of it. For this reason, all the numbers except the number 5 are printed.
The output of this code will be:
1
2
3
4
6
7
8
9




