【PHP】Lesson1-4:四則演算の基本と演算子の使い方を学ぼう

プログラミング言語PHPには、数値を操作するための「算術演算子」が備わっています。
算術演算子は足し算や引き算などの基本的な計算だけでなく、変数の値を操作する便利な方法を提供します。
この章では、算術演算子を基本演算子と特別な操作に分けて解説します。
Lesson1:基礎文法編
・Lesson1-1:PHP学習の入り口|初めてコードを書いてみよう
・Lesson1-2:変数と定数を理解しよう
・Lesson1-3:データ型とキャストを理解しよう
・Lesson1-4:四則演算をしよう ◁今回はココ
・Lesson1-5:文字列を理解しよう
・Lesson1-6:文字列の連結と埋め込みを理解しよう
・Lesson1-7:乱数を生成しよう
・確認問題1-1:ランダムパスワードを生成しよう
Lesson2:制御構造編
Lesson3:関数編
Lesson4:データ構造編
Lesson5:クラス編
基本の算術演算子とは?|PHPでの使い方と例

PHPの基本算術演算子は次の通りです:
+
(加算):数値を足します。-
(減算):数値を引きます。*
(乗算):数値を掛けます。/
(除算):数値を割ります。%
(剰余):割り算の余りを求めます。**
(べき乗):数値を累乗します。
これらの演算子は数学の基本的な計算に使用されます。
<?php $a = 10; $b = 3; // 基本算術演算子の使用例 echo $a + $b . PHP_EOL; // 加算: 13 echo $a - $b . PHP_EOL; // 減算: 7 echo $a * $b . PHP_EOL; // 乗算: 30 echo $a / $b . PHP_EOL; // 除算: 3.333... echo $a % $b . PHP_EOL; // 剰余: 1 echo $a ** $b . PHP_EOL; // べき乗: 1000
このの例では、変数$a
と$b
に数値を代入し、それらに基本算術演算子を適用しています。
それぞれの出力を確認してみましょう。
インクリメントとデクリメント演算子|数値の増減を簡単に
PHPでは、変数の値を1だけ増加または減少させる「インクリメント演算子」(++
)と「デクリメント演算子」(--
)が使用できます。
++$var
(前置インクリメント):変数の値を増加させた後に使用します。$var++
(後置インクリメント):変数を使用した後に増加させます。--$var
(前置デクリメント):変数の値を減少させた後に使用します。$var--
(後置デクリメント):変数を使用した後に減少させます。
<?php $a = 5; // インクリメント演算子の例 echo ++$a . PHP_EOL; // 前置: 6 echo $a++ . PHP_EOL; // 後置: 6 (この後 $a は 7 になる) // デクリメント演算子の例 echo --$a . PHP_EOL; // 前置: 6 echo $a-- . PHP_EOL; // 後置: 6 (この後 $a は 5 になる)
インクリメント/デクリメント演算子は、今後学習するループ処理や数値カウントなどで非常に便利です。
代入演算子との組み合わせ方|コードを短く書くテクニック
算術演算子は、代入演算子(=
)と組み合わせて使うことができます。
これにより変数の値を計算して同じ変数に代入する処理を簡略化できます。
+=
(加算代入):$a += $b
は$a = $a + $b
と同じ。-=
(減算代入):$a -= $b
は$a = $a - $b
と同じ。*=
(乗算代入):$a *= $b
は$a = $a * $b
と同じ。/=
(除算代入):$a /= $b
は$a = $a / $b
と同じ。
<?php $a = 10; // 代入演算子と算術演算子の併用例 $a += 5; // 加算代入: $a は 15 になる $a -= 3; // 減算代入: $a は 12 になる $a *= 2; // 乗算代入: $a は 24 になる $a /= 4; // 除算代入: $a は 6 になる echo $a;
このように算術演算子と代入演算子を組み合わせることで、コードを簡潔に書けます。
四則演算のまとめ|演算子の使い方を振り返ろう
算術演算子はプログラム内で数値を操作するための基本的かつ重要なツールです。
特に変数の操作を簡潔にするインクリメントや代入演算子との組み合わせは、コードを効率的に書く助けとなります。
初心者の方はまず基本算術演算子を理解し、慣れてきたら代入演算子との併用にも挑戦してみましょう。
演習問題|PHPで四則演算を実装してみよう

PHPで四則演算のプログラムを作成しましょう。
ユーザーが入力した2つの数値を使い、加算、減算、乗算、割り算、剰余計算を行います。
それぞれの計算結果を画面に表示してください。この問題を通じて、PHPの算術演算子の使い方を学びましょう。
この演習の要件
以下の要件に従ってコードを完成させてください。
- 入力:
- 最初に、ユーザーから1つ目の数値を入力してもらうこと。
- 次に、ユーザーから2つ目の数値を入力してもらうこと。
- 処理:
- 加算: 足し算の結果を計算して表示すること。
- 減算: 引き算の結果を計算して表示すること。
- 乗算: 掛け算の結果を計算して表示すること。
- 割り算: 割り算の結果を計算して表示すること。
- 剰余: 割り算の余りを計算して表示すること。
- 出力:
- 各演算の結果を画面に出力すること。
- 出力結果はそれぞれの演算名と値を分かりやすく表示すること。
ただし、以下のような実行結果となること。
最初の数値を入力してください: 12 次の数値を入力してください: 5 足し算の結果: 17 引き算の結果: 7 掛け算の結果: 60 割り算の結果: 2.4 割り算の余り: 2
解き方のヒント
1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。
- ヒント1【コードの構成を見る】
-
正解のコードは上から順に以下のような構成となっています。
(※下記の□はコード内のインデントを表しています)1:「最初の数値を入力してください: 」と出力
2:標準入力から値を読み取り、整数にキャストして変数$input1に代入
3:「次の数値を入力してください: 」と出力
4:標準入力から値を読み取り、整数にキャストして変数$input2に代入
5:「足し算の結果: 」と、$input1と$input2の合計を出力
6:「引き算の結果: 」と、$input1と$input2の差を出力
7:「掛け算の結果: 」と、$input1と$input2の積を出力
8:「割り算の結果: 」と、$input1と$input2の商を出力
9:「割り算の余り: 」と、$input1と$input2の剰余を出力
- ヒント2【穴埋め問題にする】
-
以下のコードをコピーし、コメントに従ってコードを完成させて下さい。
<?php // 最初の数値を入力 echo "最初の数値を入力してください: "; $input1 = (int)fgets(STDIN); // 入力を整数型にキャスト // 次の数値を入力 echo "次の数値を入力してください: "; $input2 = (int)fgets(STDIN); // 入力を整数型にキャスト // 足し算 /* 【穴埋め問題1】 ここに足し算の結果を計算し表示するコードを書いてください。 例: 「足し算の結果: 〇〇」のように出力すること。 */ // 引き算 /* 【穴埋め問題2】 ここに引き算の結果を計算し表示するコードを書いてください。 例: 「引き算の結果: 〇〇」のように出力すること。 */ // 掛け算 /* 【穴埋め問題3】 ここに掛け算の結果を計算し表示するコードを書いてください。 例: 「掛け算の結果: 〇〇」のように出力すること。 */ // 割り算 /* 【穴埋め問題4】 ここに割り算の結果を計算し表示するコードを書いてください。 例: 「割り算の結果: 〇〇」のように出力すること。 */ // 剰余 /* 【穴埋め問題5】 ここに剰余を計算し表示するコードを書いてください。 例: 「割り算の余り: 〇〇」のように出力すること。 */
このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。
演習問題の答え合わせ
この問題の正解コードとその解説は以下の通りです。
クリックして開いて確認してください。
- 正解コード
-
<?php // 最初の数値を入力 echo "最初の数値を入力してください: "; $input1 = (int)fgets(STDIN); // 入力を整数型にキャスト // 次の数値を入力 echo "次の数値を入力してください: "; $input2 = (int)fgets(STDIN); // 入力を整数型にキャスト // 足し算 echo "足し算の結果: " ; echo ($input1 + $input2) . PHP_EOL; // 引き算 echo "引き算の結果: " ; echo ($input1 - $input2) . PHP_EOL; // 掛け算 echo "掛け算の結果: " ; echo ($input1 * $input2) . PHP_EOL; // 割り算 echo "割り算の結果: " ; echo ($input1 / $input2) . PHP_EOL; // 剰余 echo "割り算の余り: " ; echo ($input1 % $input2) . PHP_EOL;
- 正解コードの解説
-
コードをブロックごとに分割して解説します。
ユーザー入力の受け取り
echo "最初の数値を入力してください: "; $input1 = (int)fgets(STDIN); echo "次の数値を入力してください: "; $input2 = (int)fgets(STDIN);
echo
: ユーザーにメッセージを表示するために使います。ここでは数値の入力を求めるメッセージを表示しています。fgets(STDIN)
: 標準入力からデータを取得します。ユーザーが入力した内容を受け取ります。- キャスト
(int)
: 入力されたデータは文字列として処理されるため、整数型(int
)に変換しています。この操作により四則演算に適した形式になります。
算術演算子を使った計算
以下のブロックでそれぞれの算術演算子の使用例を示します。
echo "足し算の結果: " ; echo ($input1 + $input2) . PHP_EOL;
+
: 足し算を行う算術演算子です。$input1
と$input2
の和を計算しています。. (ドット演算子)
: 文字列を結合する演算子です。計算結果とテキストを連結するのに使用します。
echo "引き算の結果: " ; echo ($input1 - $input2) . PHP_EOL;
-
: 引き算を行う算術演算子です。$input1
から$input2
を引いた結果を計算しています。echo "掛け算の結果: " ; echo ($input1 * $input2) . PHP_EOL;
*
: 掛け算を行う算術演算子です。$input1
と$input2
を掛けた結果を計算しています。echo "割り算の結果: " ; echo ($input1 / $input2) . PHP_EOL;
/
: 割り算を行う算術演算子です。$input1
を$input2
で割った結果を計算しています。- 注意: 割り算では、割る数が0の場合にエラーになることがあります。このコードでは、エラー回避の仕組みはありません。
echo "割り算の余り: " ; echo ($input1 % $input2) . PHP_EOL;
%
: 剰余(余り)を計算する算術演算子です。$input1
を$input2
で割った余りを計算しています。
まとめ
このコードではPHPで基本的な四則演算を実行する方法を学びました。特に以下のポイントに注目してください:
- ユーザー入力の受け取りと型変換の重要性。
- 各算術演算子(
+
,-
,*
,/
,%
)の使い方。 - 計算結果をユーザーに分かりやすく表示する方法。
算術演算子はPHPプログラミングの基本中の基本です。
このコードを実際に実行してみることで、四則演算の理解が深まるでしょう。演算結果を変化させる入力を試して、さらに学習を進めてください!