算術演算子
「+」や「-」といった、四則演算に用いる演算子が算術演算子にあたります。数値の計算に用いる演算子です。
ここでは、算術演算子の種類を知って、各演算子はどんな働きをするのかを理解します。
+(プラス)加算を表す
「+」の役割は次の2点です。
- 「+a」は「a」の値を示す。
- 「a + b」は加算を表しており、「a」と「b」を足した値を得る。
<?php
$sample = +10;
var_dump ($sample);
?>
「+10」を $sampleに代入しています。$sampleを var_dump()で出力すると次のように表示されます。
int(10)
次に加算を例にあげます。
<?php
$total = 80 + 40;
var_dump ($total);
?>
「80 + 40」の演算結果を $totalに代入します。var_dump()で $totalを出力すると次のように表示されます。
int(120)
ここで、演算での挙動を説明しておきます。
演算を行っても元の値は変わらない
「a」と「b」、2つの数値の演算を行って結果を得たとします。演算によって新たな値を得るわけですが、元の「a」と「b」の値はその後も変わりません。
わかりやすく変数を用いて説明します。
<?php
$total = 80 + 40;
$result = $total - 5;
var_dump ($result);
var_dump ($total);
?>
「80 + 40」の演算結果を $totalに代入します。次の行で $totalから 5を引いてその結果を$resultに代入しています。
それぞれの変数を var_dump()で出力すると次のように表示されます。
int(115) int(120)
$totalから 5を引いたが、その後も $totalの値は変わりません。
オペレータとオペランド
演算子のことをオペレータとも言います。また、演算対象の値のことをオペランドと呼びます。
「2 + 5」であれば、「+」がオペレータ、「2」と「5」がオペランドです。
-(マイナス)減算を表す
「-」の役割は次の2点です。
- 「-a」は「a」の正負を反転した値を表す。
- 「a - b」は減算を表しており、「a」から「b」を引いた値を得る。
<?php
$sample = 10;
$result = - $sample;
var_dump ($sample);
var_dump ($result);
?>
まず $sampleに 10を代入しています。10が入った $sampleに「-」を付けて、それを $resultに代入しています。
出力結果はそれぞれ次のようになります。
int(10) int(-10)
今度は $sampleに「-10」を代入しています。
<?php
$sample = -10;
$result = - $sample;
var_dump ($sample);
var_dump ($result);
?>
出力結果は次のようになります。
int(-10) int(10)
このように、「-」は値の正負を反転させます。
次が減算の場合です。
<?php
$result = 80 - 40;
var_dump ($result);
?>
出力結果は次のようになります。
int(40)
*(アスタリスク)乗算を表す
「a * b」では、aと bを掛けた値を得ます。「*」は乗算を行います。
<?php
$result = 30 * 5;
var_dump ($result);
?>
30に 5を掛けて、その結果を $resultに代入します。出力結果は次のようになります。
int(150)
/(スラッシュ)除算を表す
「a / b」では、aを bで割った値を得ます。「/」は除算を行います。
<?php
$result = 30 / 5;
var_dump ($result);
?>
30を 5で割って、その結果を $resultに代入します。出力結果は次のようになります。
int(6)
%(パーセント)剰余を表す
「a % b」では、aを bで割った時の、余りの値を得ます。「%」は剰余を示します。
<?php
$result = 30 % 7;
var_dump ($result);
?>
30を 7で割った時の、余りの値を $resultに代入します。出力結果は次のようになります。
int(2)
小数の剰余計算
剰余計算(余りを求める計算)の対象が、小数(小数点が付いた値)の場合、結果はどうなるのでしょうか。
オペランドが小数の場合の剰余計算は、まずオペランドを整数に直し、それから剰余計算が行われます。尚、整数に直す際、小数点以下は切り捨てになります。
例として、11.6 を 4.1 で割った時の余りを求めてみましょう。
<?php
$result = 11.6 % 4.1;
var_dump ($result);
?>
出力結果は次のようになります。
int(3)
「11.6 % 4.1」の場合、まずオペランドが整数に直されて「11 % 4」になり、結果の値は 3になるということです。
**(アスタリスク2個)累乗を表す
「a ** b」では、aの b乗の値を得ます。「**」は累乗を表します。
<?php
$result = 2 ** 3;
var_dump ($result);
?>
2の 3乗の値を $resultに代入します。出力結果は次のようになります。
int(8)
まとめ
算術演算子とは、四則演算といった数値計算に用いる演算子を言います。
各算術演算子の種類と、それぞれの働きは次の通りです。
- +a
- aの値。
- a + b
- aとbを足した値。
- 加算。
- -a
- aの正負を反転した値。
- a - b
- aからbを引いた値。
- 減算。
- a * b
- aにbを掛けた値。
- 乗算。
- a / b
- aをbで割った値。
- 除算。
- a % b
- aをbで割った時の余りの値。
- 剰余。
- a ** b
- aのb乗の値。
- 累乗。
小数の剰余計算では、先にオペランドが整数に直されます。(小数点以下は切り捨て)つまり小数の剰余計算であっても、整数の剰余計算に直されます。
演算を行っても、演算の材料となる元の値は変化しません。
演算子のことをオペレータ、演算対象の値のことをオペランドという言い方もします。