ITHACK
~ みんなのIT部門 ~

【PHP】変数の演算(四則演算・剰余・累乗) – + 異なる型同士の演算

プログラムでは変数を使った演算(四則演算・剰余・累乗)を扱えます。
演算の数式に変数を使うことで、柔軟で幅広いプログラムを作成できるようになります。

ここでは初心者向けに変数の演算(四則演算・剰余・累乗)について解説します。

なお、数値の演算については次の記事をご覧ください。

  • 変数の演算

変数の演算

四則演算や剰余、累乗などで使用される数値と同様に数式で変数を使うことができます。

サンプルコード

変数を使った演算のサンプルコードをご覧ください。

<?php

$num1 = 3;
$num2 = 8;

// 加算
$result1 = $num1 + $num2;
// 減算
$result2 = $num1 - $num2;
// 乗算
$result3 = $num1 * $num2;
// 除算
$result4 = $num1 / $num2;
// 剰余
$result5 = $num1 % $num2;
// 累乗
$result6 = $num1 ** $num2;

echo $num1.' + '.$num2.'  = '.$result1."\n";
echo $num1.' - '.$num2.'  = '.$result2."\n";
echo $num1.' * '.$num2.'  = '.$result3."\n";
echo $num1.' / '.$num2.'  = '.$result4."\n";
echo $num1.' % '.$num2.'  = '.$result5."\n";
echo $num1.' ** '.$num2.' = '.$result6."\n";

?>
3 + 8  = 11
3 - 8  = -5
3 * 8  = 24
3 / 8  = 0.375
3 % 8  = 3
3 ** 8 = 6561

数値(リテラル)の四則演算と同様に正常に計算されていることが、実行結果から分かります。

型が異なる変数の演算

サンプルコードは整数型の変数同士の演算でしたが、整数型や浮動小数点数型、文字列型が混合する演算も処理することができます。

本来、型が異なる変数同士の演算はできないため、キャストして型を合わせる必要があります。
しかし、PHPは『暗黙のキャスト』と呼ばれる自動型変換を行なってくれるため、キャストを意識せず、コードを記述することができます。

キャストについてはこちらの記事で解説してますので、合わせてご覧ください。

サンプルコード

<?php

$num1 = 100;
$num2 = 1.25;
$num3 = '2';

// 加算
$result1 = $num1 + $num2 + $num3;
// 減算
$result2 = $num1 - $num2 - $num3;
// 乗算
$result3 = $num1 * $num2 * $num3;
// 除算
$result4 = $num1 / $num2 / $num3;
// 剰余
$result5 = $num1 % $num2;
// 累乗
$result6 = $num1 ** $num3;

echo $num1.' + '.$num2.' + '.$num3.'  = '.$result1."\n";
echo $num1.' - '.$num2.' - '.$num3.'  = '.$result2."\n";
echo $num1.' * '.$num2.' * '.$num3.'  = '.$result3."\n";
echo $num1.' / '.$num2.' / '.$num3.'  = '.$result4."\n";
echo $num1.' % '.$num2.' = '.$result5."\n";
echo $num1.' ** '.$num3.' = '.$result6."\n";

?>
100 + 1.25 + 2  = 103.25
100 - 1.25 - 2  = 96.75
100 * 1.25 * 2  = 250
100 / 1.25 / 2  = 40
100 % 1.25 = 0
100 ** 2 = 10000

実行結果から正常に演算されていることが分かります。

演習問題

問題1

次の実行結果になる総額を計算するプログラムを作成してください。
なお、下記の条件を満たすものとします。

  • 総額の算出式は『単価×個数』とする
  • 単価と個数はコマンドライン引数で与える
$ php practice.php 1500 7
単価 : 1500
個数 : 7
総額 : 10500

問題2

次の実行結果になる釣り銭を計算するプログラムを作成してください。
なお、下記の条件を満たすものとします。

  • 釣り銭の算出式は『料金 – 支払額』とする
  • 料金と支払額はコマンドライン引数で与える
$ php practice.php 1500 2000
料金   : 1500
支払額 : 2000
釣り銭 : 500

まとめ

変数を使った四則演算は柔軟性あるプログラムを作成するために必要不可欠な知識なので覚えていきましょう。