【PHP】レッスン1-04:四則演算をしよう

記事内に商品プロモーションを含む場合があります

この記事で学べる知識:算術演算子

この記事の練習問題を解くために必要な知識:
PHPタグ入力と出力コメントの書き方変数と定数データ型とキャスト算術演算子文字列文字列の連結と埋め込み乱数生成

<<前のページ PHP記事一覧 次のページ>>

PHPの「算術演算子」とは

この章ではPHPにおける「算術演算子」の意味や使い方を学習します。用語の解説が不要な方はここをクリックして練習問題へ飛びましょう。




プログラミング言語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で四則演算のプログラムを作成しましょう。

ユーザーが入力した2つの数値を使い、加算、減算、乗算、割り算、剰余計算を行います。

それぞれの計算結果を画面に表示してください。この問題を通じて、PHPの算術演算子の使い方を学びましょう。

この問題の要件

以下の要件に従ってコードを完成させてください。

  1. 入力:
    • 最初に、ユーザーから1つ目の数値を入力してもらうこと。
    • 次に、ユーザーから2つ目の数値を入力してもらうこと。
  2. 処理:
    • 加算: 足し算の結果を計算して表示すること。
    • 減算: 引き算の結果を計算して表示すること。
    • 乗算: 掛け算の結果を計算して表示すること。
    • 割り算: 割り算の結果を計算して表示すること。
    • 剰余: 割り算の余りを計算して表示すること。
  3. 出力:
    • 各演算の結果を画面に出力すること。
    • 出力結果はそれぞれの演算名と値を分かりやすく表示すること。

ただし、以下のような実行結果となるコードを書くこと。

*****↓↓正解コードの実行結果の例↓↓*****

最初の数値を入力してください: 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;

正解コードの解説

このコードは、ユーザーが入力した2つの数値を使用して四則演算(足し算、引き算、掛け算、割り算、剰余)を行うプログラムです。

算術演算子を使って計算を実行し、その結果を表示します。

ユーザー入力の受け取り

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プログラミングの基本中の基本です。

このコードを実際に実行してみることで、四則演算の理解が深まるでしょう。演算結果を変化させる入力を試して、さらに学習を進めてください!

<<前のページ PHP記事一覧 次のページ>>

この記事への質問・コメント

この記事を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。






    PHPのテキスト&問題集トップへ戻る
    トップページへ戻る