概要

合計を出す、税込価格を求める、といった 数値計算 はプログラムの基本ピースだ。PHP の数値は大きく 整数 (int)小数 (float) の 2 種類があり、リテラルの書き方 (1001.5 か) でどちらの型として扱うかが自動で決まる。型を意識せず書ける一方、結果の型は内部で勝手に切り替わるので「思っていた型と違う」という事故が起きやすい。

四則演算は + - * / の 4 つで、加減乗除がそのまま使える。剰余% 演算子、商を整数で得たいときintdiv() 関数を使う。PHP 8 系で特に注意すべきは / の挙動 で、10 / 2 のように割り切れる計算でも 結果は常に float になる。整数で扱いたい場合は intdiv(10, 2)(int)(10 / 2) で明示的に変換する。% の方は両辺が整数なら結果も整数のままで、奇数偶数の判定 ($n % 2) などに使いやすい。

なお小数同士の計算では 浮動小数点誤差 があり、0.1 + 0.20.3 ぴったりにならず 0.30000000000000004 になることがある。本格的な対処 (bcmath 利用など) は後の章に譲るが、== で小数同士をぴったり比較してはいけない という感覚は早めに持っておきたい。

学習目標

ドリル

no 内容
01 2 つの整数を足して出力
02 四則演算 4 つを順に出力
03 % で余りを出力

演習: ドリル 01 — 足し算

問題

75 を足した結果を出力してください。

期待される出力:

12

ヒント

演習: ドリル 02 — 四則演算

問題

104 を使って四則演算の結果を この順で 4 行 出力してください。

期待される出力:

14
6
40
2.5

順番:

  1. 足し算 (10 + 4)
  2. 引き算 (10 - 4)
  3. 掛け算 (10 * 4)
  4. 割り算 (10 / 4)

ヒント

演習: ドリル 03 — 余りを出す

問題

次の 3 つの余り計算の結果を この順で 3 行 出力してください。

期待される出力:

1
0
2

計算内容:

  1. 7 % 2
  2. 9 % 3
  3. 8 % 3

ヒント

この章を AI に聞く

  1. 「ch07 — 数値と四則演算」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch07 — 数値と四則演算」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch07 — 数値と四則演算」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

🎉 受講お疲れさまでした!

ch07 — 数値と四則演算」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE