for Loops in PHP

By Andi, Stig and Derick Viewed: 31764 times Emailed: 165 times Printed: 167 times Bookmark and Share



PHP provides C-style for loops. The for loop accepts three arguments:

for (start_expressions; truth_expressions; increment_expressions)

Most commonly, for loops are used with only one expression for each of the start, truth, and increment expressions, which would make the previous syntax table look slightly more familiar.

The start expression is evaluated only once when the loop is reached. Usually it is used to initialize the loop control variable. The truth expression is evaluated in the beginning of every loop iteration. If true, the statements inside the loop will be executed; if false, the loop ends. The increment expression is evaluated at the end of every iteration before the truth expression is evaluated. Usually, it is used to increment the loop control variable, but it can be used for any other purpose as well. Both break and continue behave the same way as they do with while loops. continue causes evaluation of the increment expression before it re-evaluates the truth expression.

Statement

for (expr, expr, …; expr, expr, …; expr, expr, …)

statement

Statement List

for (expr, expr, …; expr, expr, …; expr, expr, …):

statement list

endfor;

Statement

for (expr; expr; expr)

statement

Statement List

for (expr; expr; expr):

statement list

endfor;

Here’s an example:

for ($i = 0; $i < 10; $i++) {

print "The square of $i is " . $i*$i . "\n";

}

The result of running this code is

The square of 0 is 0

The square of 1 is 1

...

The square of 9 is 81

Like in C, it is possible to supply more than one expression for each of the three arguments by using commas to delimit them. The value of each argument is the value of the rightmost expression.

Alternatively, it is also possible not to supply an expression with one or more of the arguments. The value of such an empty argument will be true. For example, the following is an infinite loop:

for (;;) {

print "I'm infinite\n";

}

Tip: PHP doesn’t know how to optimize many kinds of loop invariants. For example, in the following for loop, count($array) will not be optimized to run only once.

for ($i = 0; $i <= count($array); $i++) {

}

It should be rewritten as

$count = count($array);

for ($i = 0; $i <= $count; $i++) {

}

This ensures that you get the best performance during the execution of the loop.

 




Comments(0)


Be the first one to add a comment

Your name (required):


Your email(required, will not be shown to the public):


Your sites URL (optional):


Your comments:


Enter Code:
The Captcha image

Latest Tutorials

[2010-07-03]A Basic Example using PHP in AWS (Amazon Web Services)
[2010-07-03]Building a Video Sharing Site using PHP in AWS
[2010-06-30]XMLRPC for PHP - A simple client and server program
[2010-06-29]How to fix: Warning: Visiting this site may harm your computer - domainameat.cc
[2009-06-13]PHP Warning: Unknown(): Unable to load dynamic library '/usr/local/php4/lib/php/extensions/no-debug ......
[2009-02-24]Using Text file as database in PHP
[2009-02-07]Parent: child process exited with status 3221225477 -- Restarting
[2009-01-14]Install and use PHPUnit to test your PHP pages for errors.
[2008-12-29]Using Codeigniter for PHP application development
[2008-12-01]Creating or Opening a File in PHP
[2008-12-01]Opening a Remote File in PHP
[2008-12-01]Reading contents of a File into a String in PHP
[2008-12-01]Counting Lines, Paragraphs, or Records in a File using pc_split_paragraphs() in PHP
[2008-12-01]Reading word by word from a file in PHP
[2008-12-01]Reading .ini files in PHP

More Latest News

Most Viewed Articles (in last 30 days)
isset() function in PHP
Reading .CSV file in PHP
Parent: child process exited with status 3221225477 -- Restarting
Handling BLOB in PHP and MySQL
Extract files from a .zip file using PHP
Find Difference between two dates in PHP
Appending One Array to Another in PHP
Upload and Download files with FTP in PHP
preg_split() and explode() in PHP
public, protected, and private Properties in PHP
Install and use PHPUnit to test your PHP pages for errors.
preg_match(), function preg_match_all(), preg_grep() in PHP
Reading and Writing .gz files in PHP
Reading word by word from a file in PHP
Opening a Remote File in PHP
Most Emailed Articles (in last 30 days)
Opening a Remote File in PHP
Reading .CSV file in PHP
Counting Lines, Paragraphs, or Records in a File using pc_split_paragraphs() in PHP
Reading word by word from a file in PHP
Removing Duplicate Elements from an Array in PHP
Reading contents of a File into a String in PHP
Find Difference between two dates in PHP
PHP Warning: Unknown(): Unable to load dynamic library '/usr/local/php4/lib/php/extensions/no-debug ......
isset() function in PHP
Different versions of PHP - History and evolution of PHP
Traversing Arrays Using list() and each() in PHP
Setting cookies in PHP
.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
Creating or Opening a File in PHP
Extract files from a .zip file using PHP