<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Arithmetic Operators</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="language.operators.precedence.html">Operator Precedence</a></div> <div class="next" style="text-align: right; float: right;"><a href="language.operators.assignment.html">Assignment Operators</a></div> <div class="up"><a href="language.operators.html">Operators</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="language.operators.arithmetic" class="sect1"> <h2 class="title">Arithmetic Operators</h2> <p class="simpara"> Remember basic arithmetic from school? These work just like those. </p> <table class="doctable table"> <caption><strong>Arithmetic Operators</strong></caption> <thead> <tr> <th>Example</th> <th>Name</th> <th>Result</th> </tr> </thead> <tbody class="tbody"> <tr> <td>+$a</td> <td>Identity</td> <td> Conversion of <var class="varname"><var class="varname">$a</var></var> to <span class="type"><a href="language.types.integer.html" class="type int">int</a></span> or <span class="type"><a href="language.types.float.html" class="type float">float</a></span> as appropriate. </td> </tr> <tr> <td>-$a</td> <td>Negation</td> <td>Opposite of <var class="varname"><var class="varname">$a</var></var>.</td> </tr> <tr> <td>$a + $b</td> <td>Addition</td> <td>Sum of <var class="varname"><var class="varname">$a</var></var> and <var class="varname"><var class="varname">$b</var></var>.</td> </tr> <tr> <td>$a - $b</td> <td>Subtraction</td> <td>Difference of <var class="varname"><var class="varname">$a</var></var> and <var class="varname"><var class="varname">$b</var></var>.</td> </tr> <tr> <td>$a * $b</td> <td>Multiplication</td> <td>Product of <var class="varname"><var class="varname">$a</var></var> and <var class="varname"><var class="varname">$b</var></var>.</td> </tr> <tr> <td>$a / $b</td> <td>Division</td> <td>Quotient of <var class="varname"><var class="varname">$a</var></var> and <var class="varname"><var class="varname">$b</var></var>.</td> </tr> <tr> <td>$a % $b</td> <td>Modulo</td> <td>Remainder of <var class="varname"><var class="varname">$a</var></var> divided by <var class="varname"><var class="varname">$b</var></var>.</td> </tr> <tr> <td>$a ** $b</td> <td>Exponentiation</td> <td>Result of raising <var class="varname"><var class="varname">$a</var></var> to the <var class="varname"><var class="varname">$b</var></var>'th power. Introduced in PHP 5.6.</td> </tr> </tbody> </table> <p class="simpara"> The division operator ("/") returns a float value unless the two operands are integers (or strings that get converted to integers) and the numbers are evenly divisible, in which case an integer value will be returned. For integer division, see <span class="function"><a href="function.intdiv.html" class="function">intdiv()</a></span>. </p> <p class="simpara"> Operands of modulo are converted to integers (by stripping the decimal part) before processing. For floating-point modulo, see <span class="function"><a href="function.fmod.html" class="function">fmod()</a></span>. </p> <p class="para"> The result of the modulo operator <em>%</em> has the same sign as the dividend — that is, the result of <em>$a % $b</em> will have the same sign as <var class="varname"><var class="varname">$a</var></var>. For example: <div class="informalexample"> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">echo (</span><span style="color: #0000BB">5 </span><span style="color: #007700">% </span><span style="color: #0000BB">3</span><span style="color: #007700">).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// prints 2<br /></span><span style="color: #007700">echo (</span><span style="color: #0000BB">5 </span><span style="color: #007700">% -</span><span style="color: #0000BB">3</span><span style="color: #007700">).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// prints 2<br /></span><span style="color: #007700">echo (-</span><span style="color: #0000BB">5 </span><span style="color: #007700">% </span><span style="color: #0000BB">3</span><span style="color: #007700">).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// prints -2<br /></span><span style="color: #007700">echo (-</span><span style="color: #0000BB">5 </span><span style="color: #007700">% -</span><span style="color: #0000BB">3</span><span style="color: #007700">).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// prints -2<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="simpara"> See also the manual page on <a href="ref.math.html" class="link">Math functions</a>. </p> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="language.operators.precedence.html">Operator Precedence</a></div> <div class="next" style="text-align: right; float: right;"><a href="language.operators.assignment.html">Assignment Operators</a></div> <div class="up"><a href="language.operators.html">Operators</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>