while loops in PHP

By: Andi, Stig and Derick  

while loops are the simplest kind of loops. In the beginning of each iteration, the while’s truth expression is evaluated. If it evaluates to true, the loop keeps on running and the statements inside it are executed. If it evaluates to false, the loop ends and the statement(s) inside the loop is skipped. For example, here’s one possible implementation of factorial, using a while loop (assuming $n contains the number for which we want to calculate the factorial):

$result = 1;

while ($n > 0) {

$result *= $n--;


print "The result is $result";

Statement Statement List

while (expr)



while (expr):

statement list


Loop Control: break and continue


break expr;


continue expr;

Sometimes, you want to terminate the execution of a loop in the middle of an iteration. For this purpose, PHP provides the break statement. If break appears alone, as in break; the innermost loop is stopped. break accepts an optional argument of the amount of nesting levels to break out of, break n; which will break from the n innermost loops (break 1; is identical to break;). n can be any valid expression.

In other cases, you may want to stop the execution of a specific loop iteration and begin executing the next one. Complimentary to break, continue provides this functionality. continue alone stops the execution of the innermost loop iteration and continues executing the next iteration of that loop. continue n can be used to stop execution of the n innermost loop iterations. PHP goes on executing the next iteration of the outermost loop.

As the switch statement also supports break, it is counted as a loop when you want to break out of a series of loops with break n.

Most Viewed Articles (in PHP )

Reading and Writing .gz files in PHP

Static Properties in PHP

GDBM, NDBM, DB2, DB3, DBM, and CDB Databases in PHP

Running different websites on different versions of PHP in Windows 2003 & IIS6 platform


PHP 5.1.4 INSTALLATION on Solaris 9 (Sparc)

Building PHP 5.x with Apache2 on SuSE Professional 9.1/9.2

Installing PHP 5.x with Apache 2.x on HP UX 11i and configuring PHP 5.x with Oracle 9i

Cannot load /usr/local/apache/libexec/libphp4.so into server: ld.so.1:......

Setting up PHP in Windows 2003 Server IIS7, and WinXP 64

error: "Service Unavailable" after installing PHP to a Windows XP x64 Pro

Function to force strict boolean values in PHP

Function to convert strings to strict booleans in PHP

Function to sort array by elements and count of element in PHP

Malware: global $ob_starting;

Latest Articles (in PHP)

Comment on this tutorial