Control Loops
Frequently in PHP there are instances where you need to perform repetitive
tasks, such as formatting data pulled from a database, sending out emails
to a mailing list, or cycling through the contents of an array. Control
Loops allow you to perform these tasks almost effortlessly.
While Loops
While Loops are the simplest form of loops:
<?php
$x=1;
while ($x <=10) {
print "$x<br>";
$x++;
}
?> |
When you run this snippet, you will see the numbers 1 through 10 printed
on your screen. Take a look at the code. In many ways, it's very similar
to an If Statement. First is the while identifier, followed by a condition
surrounded by parentheses.
The statements nested within the loop will execute as long as the condition
within the parentheses evaluates to true. Since the validity of the condition
is checked before the loop is executed, if the condition is false, then
the statements within the loop will not be executed at all.
Do...While Loops
Do...While Loops are close cousins of While Loops:
<?php
$x=11;
do {
print "$x<br>";
$x++;
} while ($x <=10);?> |
The primary difference in how these work is that the validity of the condition
in a Do...While Loop is tested after the loop has itinerated once.
This means that in the example above, $x would be printed out one time,
and then the execution of the loop would end, because $x is greater than
10.
For Loops
<?php
for($x=1; $x<=10; $x++) {
print "$x<br>";
}
?> |
The above is an example of a For Loop. For Loops are very similar to While
Loops, but more convenient to use in many cases. They are also the most
complex loops in PHP, borrowing syntax and function heavily from the C
Programming language. This is the final control struture we will be covering
in this article.
If you guessed that the above snippet would output the same result as
the first example of a while loop, you would be right! Let's take a closer
look at why it works like that. Within
the parentheses, For Loops take three expressions separated by semi-colons.
The first expression is only executed one time, when the loop initializes.
In this case, $x is created and given a value of zero.
The next expression is a condition that is checked each time the loop
itinerates. Once the condition is false, the loop will stop executing.
Just like a while loop, if the condition is found to be false on the first
run, none of the statements within the loop will execute even once.
The final expression will be executed each time the loop itinerates after
the nested statements have been parsed. Remember that there is no semi-colon
after the final expression.
As you can see, this for loop performs the same function as the earlier
While Loop, but far more concisely. Typically, it's best to use a For
Loop in situations where you know how many elements you will be cycling
through.
The Foreach Loop
This new loop was introduced in PHP version 4. It's used exclusively for
looping through elements of an array, allowing you to easily print out
or perform operations on elements within an array. To keep things from
getting too complicated, we will wait cover this particular loop in detail
when arrays are introduced.
<?php
foreach ($array as $someVar) {
echo ($someVar . "<br />");
}
?> |
Foreach with non-integer keys
Foreach loops are particularly useful when dealing with an array with keys that are not numbers. Consider this example:
<?php
$array = array("1st"=>"My House","2nd"=>"My Car","3rd"=>"My Lab");
$arrayKeys = array_keys($array);
for ($i=0;$i
echo $array[($arrayKeys[$i])] . "<br />";
}
?> |
|