学校で習った基礎代数を憶えていますか? この演算子はそれらと同様に動作します。
例 | 名前 | 結果 |
---|---|---|
+$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 乗。PHP 5.6 で導入されました。 |
除算演算子 ("/") の返す値は浮動小数点数となります。 ただし、ふたつのオペランドがともに整数 (あるいは整数に変換できる文字列) であり、かつ結果が割り切れる場合には整数値を返します。 整数の除算については intdiv() を参照ください。
剰余演算子は、まず両方のオペランドを整数に直し (小数点以下を切り捨てます) てから処理を行います。 浮動小数点の剰余については fmod() を参照ください。
剰余演算子 % の結果の符号は、被除数の符号と同じになります。 つまり、$a % $b の結果の符号は $a と同じになるということです。
<?php
echo (5 % 3)."\n"; // 2
echo (5 % -3)."\n"; // 2
echo (-5 % 3)."\n"; // -2
echo (-5 % -3)."\n"; // -2
?>
マニュアルの 数学関数の項も参照してください。