« 演算子の優先順位
加算子/減算子 »

算術演算子

学校で習った初等算術を憶えていますか? この演算子はそれらと同様に動作します。

算術演算子
例 名前 結果
+$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)

参考

関連キーワード:
演算子   算術   剰余   dump   除算   整数   符号   加算   減算   float   オペランド   被除数   優先順位   学校   初等   合計   乗算   余り   累乗   数値   除数   倍数   intdiv   両方   浮動
関連する関数・ページ:
language.operators   language.operators.string   function.fmod   language.operators.errorcontrol   language.operators.assignment   language.operators.logical