概要
合計を出す、税込価格を求める、といった 数値計算 はプログラムの基本ピースだ。PHP の数値は大きく 整数 (int) と 小数 (float) の 2 種類があり、リテラルの書き方 (100 か 1.5 か) でどちらの型として扱うかが自動で決まる。型を意識せず書ける一方、結果の型は内部で勝手に切り替わるので「思っていた型と違う」という事故が起きやすい。
四則演算は + - * / の 4 つで、加減乗除がそのまま使える。剰余 は % 演算子、商を整数で得たいとき は intdiv() 関数を使う。PHP 8 系で特に注意すべきは / の挙動 で、10 / 2 のように割り切れる計算でも 結果は常に float になる。整数で扱いたい場合は intdiv(10, 2) や (int)(10 / 2) で明示的に変換する。% の方は両辺が整数なら結果も整数のままで、奇数偶数の判定 ($n % 2) などに使いやすい。
なお小数同士の計算では 浮動小数点誤差 があり、0.1 + 0.2 が 0.3 ぴったりにならず 0.30000000000000004 になることがある。本格的な対処 (bcmath 利用など) は後の章に譲るが、== で小数同士をぴったり比較してはいけない という感覚は早めに持っておきたい。
学習目標
- 整数・小数を
echoで出力できる +-*/で四則演算ができる%で余りを取れる
ドリル
| no | 内容 |
|---|---|
| 01 | 2 つの整数を足して出力 |
| 02 | 四則演算 4 つを順に出力 |
| 03 | % で余りを出力 |
📝 演習: ドリル 01 — 足し算
問題
7 と 5 を足した結果を出力してください。
期待される出力:
12ヒント
- 数値は
"で囲まない echo 7 + 5;の形で書ける- 末尾に
\nを入れて改行
📝 演習: ドリル 02 — 四則演算
問題
10 と 4 を使って四則演算の結果を この順で 4 行 出力してください。
期待される出力:
14
6
40
2.5
順番:
- 足し算 (
10 + 4) - 引き算 (
10 - 4) - 掛け算 (
10 * 4) - 割り算 (
10 / 4)
ヒント
echo 10 + 4;の形で 1 行ずつ書く- 各行の末尾に
"\n"を入れて改行する - 割り算
10 / 4は2.5になる (整数同士でも小数になる)
📝 演習: ドリル 03 — 余りを出す
問題
次の 3 つの余り計算の結果を この順で 3 行 出力してください。
期待される出力:
1
0
2
計算内容:
7 % 29 % 38 % 3
ヒント
%は割った余りを返す7 ÷ 2 = 3 余り 1→7 % 2は19 ÷ 3 = 3 余り 0→9 % 3は0- 各行の末尾に
"\n"を入れる