
【PHP】数値の演算(四則演算・剰余・累乗) – + 計算の優先順位
プログラムでは数値の演算(四則演算・剰余・累乗)を扱えます。
日常生活で料金やポイント、スコアなど数値の演算は多くあり、その分プログラムでも使う場面は多くあります。
ここでは初心者向けに数値の演算(四則演算・剰余・累乗)について解説します。
-
数値の演算
-
演算(加算・減算・乗算・除算・剰余・累乗)
-
計算の優先順位
数値の演算とは
数値の演算は加算(足し算)や減算(引き算)のような計算のことです。
演算は演算子を使います。
それぞれの演算子は次の通りです。
演算 | 演算子 | 計算 | 例 |
---|---|---|---|
加算 | + | 左の値に右の値を足した数値 | 3 + 8 |
減算 | – | 左の値から右の値を引いた数値 | 5 – 3 |
乗算 | * | 左の値に右の値を掛けた数値 | 2 * 4 |
除算 | / | 左の値を右の値で割った数値 | 6 / 3 |
剰余 | % | 左の値を右の数値で割って余った数値 | 8 % 5 |
累乗 | ** | 左の値を右の値で累乗した数値 | 11 ** 3 |
加算
基本構文
数値 + 数値
サンプルコード
<?php
$num = 3 + 8;
echo $num;
?>
11
減算
基本構文
数値 - 数値
サンプルコード
<?php
$num = 5 - 3;
echo $num;
?>
2
乗算
基本構文
数値 * 数値
サンプルコード
<?php
$num = 2 * 4;
echo $num;
?>
8
除算
基本構文
数値 / 数値
サンプルコード
<?php
$num = 6 / 3;
echo $num;
?>
2
剰余
基本構文
数値 % 数値
サンプルコード
<?php
$num = 8 % 5;
echo $num;
?>
3
累乗
基本構文
数値 ** 数値
サンプルコード
<?php
$num = 11 ** 3;
echo $num;
?>
1331
複数の値の演算
複数の値の演算は数学の数式のように数値を演算子で繋げながら記述します。
サンプルコード
<?php
$num = 3 + 6 * 2 / 3 - 1;
echo $num;
?>
6
演算の優先順位
演算は数学と同様に優先順位があり、次の順序で実行されます。
累乗(**) > 乗算(*) , 除算(/) > 剰余(%) > 加算(+) , 減算(-)
また、演算の順序を丸括弧で任意に変えることもできます。
サンプルコード
<?php
$num = ( ( 3 + 6 ) * 2 ) / 3 - 1;
echo $num;
?>
5
括弧内は優先的に計算さ、ネスト(括弧内に括弧があること)している場合は一番内側の括弧から計算されます。
演算と型
本来、整数型と浮動小数点数型、文字列型など異なる型の値同士では演算することができません。
計算するためにはキャストで型を合わせる必要があります。
しかし、PHPでは自動で型変換する『暗黙のキャスト』と呼ばれる仕組みがあります。
これにより異なる型の値同士でも自然に演算を行うことができます。
サンプルコード
<?php
$num = 5 * 1.3;
echo '5 (type) -> '.gettype(5)."\n";
echo '1.3 (type) -> '.gettype(1.3)."\n";
echo '$num (type) -> '.gettype($num)."\n";
echo '$num (value) -> '.$num."\n";
?>
5 (type) -> integer
1.3 (type) -> double
$num (type) -> double
$num (value) -> 6.5
3行目で整数型の5と浮動小数点数型の1.3を乗算しており、実行結果では乗算した値の型は浮動小数点数型(double)になっていることが分かります。
演習問題
次の実行結果になるプログラムを作成してください。
なお、下記の条件を満たすものとします。
$num
に11,33,55を加算した値を代入- 実行結果の99は
$num
の値として出力
$num = 99
次の実行結果になるプログラムを作成してください。
なお、下記の条件を満たすものとします。
$num
に11から33,55を減算した値を代入- 実行結果の-77は
$num
の値として出力
$num = -77
次の実行結果になるプログラムを作成してください。
なお、下記の条件を満たすものとします。
$num
に11,33,55を乗算した値を代入- 実行結果の19965は
$num
の値として出力
$num = 19965
次の実行結果になるプログラムを作成してください。
なお、下記の条件を満たすものとします。
$num
に11を2で除算し、更に4で除算した値を代入- 実行結果の19965は
$num
の値として出力
$num = 1.375
次の実行結果になるプログラムを作成してください。
なお、下記の条件を満たすものとします。
$num
に135を33で除算した余りを代入- 実行結果の3は
$num
の値として出力
$num = 3
次の実行結果になるプログラムを作成してください。
なお、下記の条件を満たすものとします。
$num
に2を11で累乗した値を代入- 実行結果の2048は
$num
の値として出力
$num = 2048
まとめ
数値の演算には演算子と呼ばれる記号を使用します。
頻繁に使用するので、覚えていきましょう。