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 truedo...while- loops through a block of code once, and then repeats the loop as long as the specified condition is truefor- loops through a block of code a specified number of timesforeach- loops through a block of code for each element in an array
1. 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.
Syntax
{
//code to be executed for each iteration;
}
Parameters:
- 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
Examples
The example below displays the numbers from 0 to 10:
Code:
<?php
for ($x = 0; $x <= 10; $x++)
{
echo "The number is: $x <br>";
}
?>
Output:
The number is: 0The number is: 1
The number is: 2
The number is: 3
The number is: 4
The number is: 5
The number is: 6
The number is: 7
The number is: 8
The number is: 9
The number is: 10
Example Explained
- $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
2. PHP while Loop
The while loop executes a block of code as long as the specified condition is true.
Syntax
//code to be executed;
}increment/decrement
Example
The example below displays the numbers from 1 to 5:
Code:
<?php
$x = 1;
while($x <= 5)
{
echo "The number is: $x <br>";
$x++;
}
?>
Output:
The number is: 1The number is: 2
The number is: 3
The number is: 4
The number is: 5
Example Explained
- $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
3. PHP do...while Loop
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.
Syntax:
//code to be executed;
} while (condition is true);
Example
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:
Code:
<?php
$x = 1;
do {
echo "The number is: $x <br>";
$x++;
} while ($x <= 5);
?>
Output:
The number is: 1The number is: 2
The number is: 3
The number is: 4
The number is: 5
Note: 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.
5. PHP foreach Loop
foreach loop- Loops through a block of code for each element in an array.
The foreach loop works only on arrays, and is used to loop through each key/value pair in an array.
Syntax
//code to be executed;
}
For every loop iteration, the value of the current array element is assigned to $value and the array pointer is moved by one, until it reaches the last array element.
Example
The following example will output the values of the given array ($colors):
Code
<?php
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
Output:
redgreen
blue
yellow
5. PHP Break
It was used to "jump out" of a switch statement.It is also useful for immediately stopping a loop
The break statement can also be used to jump out of a loop.
Example
This example jumps out of the loop when x is equal to 4:
code:
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
break;
}
echo "The number is: $x <br>";
}
?>
Output:
The number is: 0The number is: 1
The number is: 2
The number is: 3
6. 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.
Example
This example skips the value of 4:
Code:
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
continue;
}
echo "The number is: $x <br>";
}
?>
Output:
The number is: 0The number is: 1
The number is: 2
The number is: 3
The number is: 5
The number is: 6
The number is: 7
The number is: 8
The number is: 9