プログラミングでデータ型というと、数値を扱うイメージが強いのではないでしょうか。
PHP の数値には整数と浮動小数点があります。
整数は「10、100」の小数点を含まない数値、浮動小数点は「1.23、10.2345」のように小数点を含む数値となります。
今回は数値を使って、PHPで計算してみたいと思います。
PHPで数値計算
数値の計算に使う演算子は、算術演算子(代数演算子)と言います。
PHPに限らずですが、プログラミングの演算子は「+、-、*、/、%、**」を使用します。学校の算数でならった記号とは違いますので覚えておきましょう。
実際に計算のソースコードを実行してみます。
<?php // 足す $a = 10 + 5; // 引く $b = 10 - 5; // 掛ける $c = 10 * 5; // 割る $d = 10 / 5; // 余り $e = 10 % 3; // べき乗 $f = 5 ** 3; echo "10 + 5 = $a<br>"; echo "10 - 5 = $b<br>"; echo "10 × 5 = $c<br>"; echo "10 ÷ 5 = $d<br>"; echo "10 ÷ 3 の余りは $e<br>"; echo "5 の 3 乗は $f (= 5 × 5 × 5)<br>"; ?>
実行結果:

算術演算子の優先順位
算術演算子を使って足し算と掛け算を一緒に計算すると、掛け算や割り算が先に計算されます。学校でならった計算の順番と同じです。
実際に計算してみましょう。
<?php $a = 10 + 10 * 2; $b = (10 + 10) * 2; echo "10 + 10 * 2 = $a<br>"; echo "(10 + 10) * 2 = $b<br>"; ?>
実行結果:

このようにカッコを付けてあげることで「10 + 10」が先に足し算されるようになりました。
計算の順番を明確にしたい場合など、上手く使うと良いです。
複合演算子とインクリメント
ここまで数値どうしの計算について書きました。
最後に複合演算子とインクリメントについて触れておきたいと思います。
まずは、変数に対して基本的な計算です。
<?php $a = 1; $a = $a + 1; echo $a; ?>
変数「$a」に対して1を代入し、次に「$a」に「1」を足しています。
この計算結果は「2」となります。

複合演算子
「=」と演算子を組み合わせたものを複合演算子と言います。
算術演算子と同じように「+=、-=、*=、/=、%=、**=」があります。
実際に足し算の例です。
<?php $a = 1; $a += 1; echo $a; ?>
計算結果は「2」となります。
「$a += 1」の部分で変数「$a」に「1」が足されています。
インクリメント、デクリメント
インクリメントは変数の数値を1つ増やし、デクリメントは1つ減らす場合に使用します。
インクリメントは「$a++、++$a」のように変数の前後に「++」の演算子2つ並べて記述します。。
デクリメントは「$a–、–$a」と記述します。
<?php $a = 1; ++$a; echo $a; ?>
計算結果は「2」となります。
$a++と++$aの違い
インクリメントは、変数に代入するときに前か後ろで動きが変わりますので注意が必要です。
まずは前に書く場合の「++$a」を実行してみます。
<?php $a = 1; $z = ++$a; echo $z; ?>
計算結果は「2」です。
$a に1を足してから $z に代入しています。
次に後に書く場合の「$a++」を実行してみます。
<?php $a = 1; $z = $a++; echo $z; ?>
計算結果は「1」となります。
$a を $z に代入してから $a に1が足されます。
まとめ
算術演算子を使った計算について解説しました。
学校でならった計算と同じように計算には優先順位があり、カッコを使うことで計算の順番を明確にできることについて触れました。
複合演算子やインクリメントを使用することで、ソースコードが分かりやすくなることもありますので状況に応じて使用しましょう。
プログラミング学習を挫折せずに続けて成功できる人は
- 「目的目標を明確にすること」
- 「質問・相談できる環境を作ること」
- 「自己解決スキルを身に着けること」
この3つを大切にしてると思います。
ただ漠然とプログラミング学習をしているだけでは
すぐに身に付きませんので、プログラミングスクールがおすすめです。
-
テックキャンプ
本気でIT業界に転職したい方におすすめです。
転職できなかったら全額返金があります。 -
DMM WEBCAMP
国から認定されているスクールです。
やむなく離職中の方など、条件を満たしている方は教育訓練給付金が支給されます。 -
TechAcademy
1週間の無料体験があります。
気軽にスクールを体験したい方向けです。