<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML ><HEAD ><TITLE >while</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="Manual PHP" HREF="index.html"><LINK REL="UP" TITLE="Control Structures" HREF="language.control-structures.html"><LINK REL="PREVIOUS" TITLE="Alternative syntax for control structures" HREF="control-structures.alternative-syntax.html"><LINK REL="NEXT" TITLE="do..while" HREF="control-structures.do.while.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-8859-2"></HEAD ><BODY CLASS="sect1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Manual PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="control-structures.alternative-syntax.html" ACCESSKEY="P" >Înapoi</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Cap. 11. Control Structures</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="control-structures.do.while.html" ACCESSKEY="N" >Înainte</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="control-structures.while" ><VAR CLASS="literal" >while</VAR ></A ></H1 ><P > <VAR CLASS="literal" >while</VAR > loops are the simplest type of loop in PHP. They behave just like their C counterparts. The basic form of a <VAR CLASS="literal" >while</VAR > statement is: <DIV CLASS="informalexample" ><P ></P ><A NAME="AEN2479" ></A ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="programlisting" >while (expr) statement</PRE ></TD ></TR ></TABLE ><P ></P ></DIV > </P ><P > The meaning of a <VAR CLASS="literal" >while</VAR > statement is simple. It tells PHP to execute the nested statement(s) repeatedly, as long as the <VAR CLASS="literal" >while</VAR > expression evaluates to <TT CLASS="constant" ><B >TRUE</B ></TT >. The value of the expression is checked each time at the beginning of the loop, so even if this value changes during the execution of the nested statement(s), execution will not stop until the end of the iteration (each time PHP runs the statements in the loop is one iteration). Sometimes, if the <VAR CLASS="literal" >while</VAR > expression evaluates to <TT CLASS="constant" ><B >FALSE</B ></TT > from the very beginning, the nested statement(s) won't even be run once. </P ><P > Like with the <VAR CLASS="literal" >if</VAR > statement, you can group multiple statements within the same <VAR CLASS="literal" >while</VAR > loop by surrounding a group of statements with curly braces, or by using the alternate syntax: <DIV CLASS="informalexample" ><P ></P ><A NAME="AEN2490" ></A ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="programlisting" >while (expr): statement ... endwhile;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV > </P ><P > The following examples are identical, and both print numbers from 1 to 10: <DIV CLASS="informalexample" ><P ></P ><A NAME="AEN2493" ></A ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#FF8000">/* example 1 */<br /><br /></font><font color="#0000BB">$i </font><font color="#007700">= </font><font color="#0000BB">1</font><font color="#007700">;<br />while (</font><font color="#0000BB">$i </font><font color="#007700"><= </font><font color="#0000BB">10</font><font color="#007700">) {<br /> echo </font><font color="#0000BB">$i</font><font color="#007700">++; </font><font color="#FF8000">/* the printed value would be<br /> $i before the increment<br /> (post-increment) */<br /></font><font color="#007700">}<br /><br /></font><font color="#FF8000">/* example 2 */<br /><br /></font><font color="#0000BB">$i </font><font color="#007700">= </font><font color="#0000BB">1</font><font color="#007700">;<br />while (</font><font color="#0000BB">$i </font><font color="#007700"><= </font><font color="#0000BB">10</font><font color="#007700">):<br /> echo </font><font color="#0000BB">$i</font><font color="#007700">;<br /> </font><font color="#0000BB">$i</font><font color="#007700">++;<br />endwhile;<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ><P ></P ></DIV > </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="control-structures.alternative-syntax.html" ACCESSKEY="P" >Înapoi</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Acasã</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="control-structures.do.while.html" ACCESSKEY="N" >Înainte</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Alternative syntax for control structures</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="language.control-structures.html" ACCESSKEY="U" >Sus</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><VAR CLASS="literal" >do..while</VAR ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >