学校で習った初等算術を憶えていますか? この演算子はそれらと同様に動作します。
例 | 名前 | 結果 |
---|---|---|
+$a |
同一 | $a を、必要に応じて int あるいは float に変換する |
-$a |
負にする | $a の逆 |
$a + $b |
加算 | $a および $b の合計 |
$a - $b |
減算 | $a と $b の差 |
$a * $b |
乗算 | $a および $b の積 |
$a / $b |
除算 | $a および $b の商 |
$a % $b |
剰余 | $a を $b で割った余り |
$a ** $b |
累乗 | $a の $b 乗。 |
除算演算子 /
の返す値は float となります。
ただし、ふたつのオペランドがともに int (あるいは int
に型変換される 数値形式の文字列)
であり、かつ被除数が除数の倍数である場合には整数値を返します。
整数の除算については intdiv() を参照ください。
剰余演算子は、まず両方のオペランドを整数に直してから処理を行います。 浮動小数点の剰余については fmod() を参照ください。
剰余演算子 %
の結果の符号は、被除数の符号と同じになります。
つまり、$a % $b
の結果の符号は
$a と同じになるということです。
例1 剰余演算子
<?php
var_dump(5 % 3);
var_dump(5 % -3);
var_dump(-5 % 3);
var_dump(-5 % -3);
?>
上の例の出力は以下となります。
int(2) int(2) int(-2) int(-2)