<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML ><HEAD ><TITLE >Incrementing/Decrementing Operators</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="Operators" HREF="language.operators.html"><LINK REL="PREVIOUS" TITLE="Execution Operators" HREF="language.operators.execution.html"><LINK REL="NEXT" TITLE="Logical Operators" HREF="language.operators.logical.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="language.operators.execution.html" ACCESSKEY="P" >Înapoi</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Cap. 10. Operators</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="language.operators.logical.html" ACCESSKEY="N" >Înainte</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="language.operators.increment" >Incrementing/Decrementing Operators</A ></H1 ><P > PHP supports C-style pre- and post-increment and decrement operators. </P ><DIV CLASS="table" ><A NAME="AEN2187" ></A ><P ><B >Tabel 10-5. Increment/decrement Operators</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><COL><THEAD ><TR ><TH >Example</TH ><TH >Name</TH ><TH >Effect</TH ></TR ></THEAD ><TBODY ><TR ><TD >++$a</TD ><TD >Pre-increment</TD ><TD >Increments $a by one, then returns $a.</TD ></TR ><TR ><TD >$a++</TD ><TD >Post-increment</TD ><TD >Returns $a, then increments $a by one.</TD ></TR ><TR ><TD >--$a</TD ><TD >Pre-decrement</TD ><TD >Decrements $a by one, then returns $a.</TD ></TR ><TR ><TD >$a--</TD ><TD >Post-decrement</TD ><TD >Returns $a, then decrements $a by one.</TD ></TR ></TBODY ></TABLE ></DIV ><P > Here's a simple example script: <DIV CLASS="informalexample" ><P ></P ><A NAME="AEN2213" ></A ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#007700">echo </font><font color="#DD0000">"<h3>Postincrement</h3>"</font><font color="#007700">;<br /></font><font color="#0000BB">$a </font><font color="#007700">= </font><font color="#0000BB">5</font><font color="#007700">;<br />echo </font><font color="#DD0000">"Should be 5: " </font><font color="#007700">. </font><font color="#0000BB">$a</font><font color="#007700">++ . </font><font color="#DD0000">"<br />\n"</font><font color="#007700">;<br />echo </font><font color="#DD0000">"Should be 6: " </font><font color="#007700">. </font><font color="#0000BB">$a </font><font color="#007700">. </font><font color="#DD0000">"<br />\n"</font><font color="#007700">;<br /><br />echo </font><font color="#DD0000">"<h3>Preincrement</h3>"</font><font color="#007700">;<br /></font><font color="#0000BB">$a </font><font color="#007700">= </font><font color="#0000BB">5</font><font color="#007700">;<br />echo </font><font color="#DD0000">"Should be 6: " </font><font color="#007700">. ++</font><font color="#0000BB">$a </font><font color="#007700">. </font><font color="#DD0000">"<br />\n"</font><font color="#007700">;<br />echo </font><font color="#DD0000">"Should be 6: " </font><font color="#007700">. </font><font color="#0000BB">$a </font><font color="#007700">. </font><font color="#DD0000">"<br />\n"</font><font color="#007700">;<br /><br />echo </font><font color="#DD0000">"<h3>Postdecrement</h3>"</font><font color="#007700">;<br /></font><font color="#0000BB">$a </font><font color="#007700">= </font><font color="#0000BB">5</font><font color="#007700">;<br />echo </font><font color="#DD0000">"Should be 5: " </font><font color="#007700">. </font><font color="#0000BB">$a</font><font color="#007700">-- . </font><font color="#DD0000">"<br />\n"</font><font color="#007700">;<br />echo </font><font color="#DD0000">"Should be 4: " </font><font color="#007700">. </font><font color="#0000BB">$a </font><font color="#007700">. </font><font color="#DD0000">"<br />\n"</font><font color="#007700">;<br /><br />echo </font><font color="#DD0000">"<h3>Predecrement</h3>"</font><font color="#007700">;<br /></font><font color="#0000BB">$a </font><font color="#007700">= </font><font color="#0000BB">5</font><font color="#007700">;<br />echo </font><font color="#DD0000">"Should be 4: " </font><font color="#007700">. --</font><font color="#0000BB">$a </font><font color="#007700">. </font><font color="#DD0000">"<br />\n"</font><font color="#007700">;<br />echo </font><font color="#DD0000">"Should be 4: " </font><font color="#007700">. </font><font color="#0000BB">$a </font><font color="#007700">. </font><font color="#DD0000">"<br />\n"</font><font color="#007700">;<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ><P ></P ></DIV > </P ><P > PHP follows Perl's convention when dealing with arithmetic operations on character variables and not C's. For example, in Perl 'Z'+1 turns into 'AA', while in C 'Z'+1 turns into '[' ( ord('Z') == 90, ord('[') == 91 ). Note that character variables can be incremented but not decremented. <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN2216" ></A ><P ><B >Exemplu 10-1. Arithmetic Operations on Character Variables</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />$i </font><font color="#007700">= </font><font color="#DD0000">'W'</font><font color="#007700">;<br />for(</font><font color="#0000BB">$n</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">; </font><font color="#0000BB">$n</font><font color="#007700"><</font><font color="#0000BB">6</font><font color="#007700">; </font><font color="#0000BB">$n</font><font color="#007700">++)<br /> echo ++</font><font color="#0000BB">$i </font><font color="#007700">. </font><font color="#DD0000">"\n"</font><font color="#007700">;<br /><br /></font><font color="#FF8000">/*<br /> Produces the output similar to the following:<br /><br />X<br />Y<br />Z<br />AA<br />AB<br />AC<br /><br />*/<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </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="language.operators.execution.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="language.operators.logical.html" ACCESSKEY="N" >Înainte</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Execution Operators</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="language.operators.html" ACCESSKEY="U" >Sus</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Logical Operators</TD ></TR ></TABLE ></DIV ></BODY ></HTML >