PHP Loops
PHP Loops
Often when you write code, you want the same block of code to run over and over again a certain number of times. So, instead of adding several almost equal code-lines in a script, we can use loops. Loops are used to execute the same block of code again and again, as long as a certain condition is true.
In PHP, we have the following loop types:
- while - loops through a block of code as long as the specified condition is true
- do...while - loops through a block of code once, and then repeats the loop as long as the 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
PHP while Loop
The while loop - Loops through a block of code as long as the specified condition is true. The while loop executes a block of code as long as the specified condition is true.
while (condition is true) {
code to be executed;
}
The example below displays the numbers from 1 to 5:
- $x = 1; - Initialize the loop counter ($x), and set the start value to 1
- $x <= 5 - Continue the loop as long as $x is less than or equal to 5
- $x++; - Increase the loop counter value by 1 for each iteration
<?php
$x = 1;
while($x <= 5) {
echo "The number is: $x
";
$x++;
}
?>
This example counts to 100 by tens:
<?php
$x = 0;
while($x <= 100) {
echo "The number is: $x
";
$x+=10;
}
?>
PHP do while Loop
The do...while loop - Loops through a block of code once, and then repeats the loop as long as the specified condition is true.
The do...while loop will always execute the block of code once, it will then check the condition, and repeat the loop while the specified condition is true.
<?do {
code to be executed;
} while (condition is true);?>
The example below first sets a variable $x to 1 ($x = 1). Then, the do while loop will write some output, and then increment the variable $x with 1. Then the condition is checked (is $x less than, or equal to 5?), and the loop will continue to run as long as $x is less than, or equal to 5:
<?php
$x = 1;
do {
echo "The number is: $x
";
$x++;
} while ($x <= 5);
?>
In a do...while loop the condition is tested AFTER executing the statements within the loop. This means that the do...while loop will execute its statements at least once, even if the condition is false. See example below.This example sets the $x variable to 6, then it runs the loop, and then the condition is checked:
<?php
$x = 6;
do {
echo "The number is: $x
";
$x++;
} while ($x <= 5);
?>
PHP for Loop
The for loop - Loops through a block of code a specified number of times. The for loop is used when you know in advance how many times the script should run.
- init counter: Initialize the loop counter value
- test counter: Evaluated for each loop iteration. If it evaluates to TRUE, the loop continues. If it evaluates to FALSE, the loop ends.
- increment counter: Increases the loop counter value
<
for (init counter; test counter; increment counter) {
code to be executed for each iteration;
}>
<?php
for ($x = 0; $x <= 10; $x++) {
echo "The number is: $x
";
}
?>
- $x = 0; - Initialize the loop counter ($x), and set the start value to 0
- $x <= 10; - Continue the loop as long as $x is less than or equal to 10
- $x++ - Increase the loop counter value by 1 for each iteration
This example counts to 100 by tens:
<?php
for ($x = 0; $x <= 100; $x+=10) {
echo "The number is: $x
";
}
?>
PHP Break and Continue
You have already seen the break statement used in an earlier chapter of this tutorial. It was used to "jump out" of a switch statement.The break statement can also be used to jump out of a loop. This example jumps out of the loop when x is equal to 4:
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
break;
}
echo "The number is: $x
";
}
?>
PHP Continue
The continue statement breaks one iteration (in the loop), if a specified condition occurs, and continues with the next iteration in the loop.This example skips the value of 4:
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
continue;
}
echo "The number is: $x
";
}
?>
Break and Continue in While Loop
You can also use break and continue in while loops:
<?php
$x = 0;
while($x < 10) {
if ($x == 4) {
break;
}
echo "The number is: $x
";
$x++;
}
?>
Continue Example
<?php
$x = 0;
while($x < 10) {
if ($x == 4) {
$x++;
continue;
}
echo "The number is: $x
";
$x++;
}
?>