
【6日でできるPHP入門】インクリメント・デクリメント
プログラムで繰り返しやカウントアップ、カウントダウンを行うときに便利なのが「インクリメント」と「デクリメント」です。
PHPでは、変数の値に1を足す(インクリメント)、1を引く(デクリメント)ための特別な記法が用意されています。
この記事では、その使い方や特徴、注意点について具体的な例とともに詳しく解説します。

1.インクリメント・デクリメントの基本
1.1. インクリメント(++)
インクリメントとは、変数の値に1を加える処理です。
PHPでは、変数名の前後に++
を付けることで、1回の記述で値を+1できます。
記述 | 意味 | 同じ処理の通常記法 |
---|---|---|
$a++; | $aの値に1を足す(後置) | $a = $a + 1; または $a += 1; |
++$a; | $aの値に1を足す(前置) | 同上 |
サンプル1:インクリメントの利用例
ファイル名: lesson25_1.php
<?php
$count = 5;
echo "カウント: {$count}<br>"; // 5
$count++;
echo "カウント: {$count}<br>"; // 6
++$count;
echo "カウント: {$count}<br>"; // 7
?>
実行結果

1.2. デクリメント(--)
デクリメントとは、変数の値から1を引く処理です。
インクリメントと同じく、--
を変数名の前後に付けます。
記述 | 意味 | 同じ処理の通常記法 |
---|---|---|
$a--; | $aの値から1を引く(後置) | $a = $a - 1; または $a -= 1; |
--$a; | $aの値から1を引く(前置) | 同上 |
サンプル2:デクリメントの利用例
ファイル名: lesson25_2.php
<?php
$stock = 3;
echo "残り: {$stock}<br>"; // 3
$stock--;
echo "残り: {$stock}<br>"; // 2
--$stock;
echo "残り: {$stock}<br>"; // 1
?>
実行結果

2.前置・後置の違いと注意点
2.1. 前置(++$n / --$n)と後置($n++ / $n--)の動作
前置と後置は、式の中で使ったときに違いが出ます。
書き方 | 意味 |
---|---|
$x = ++$a; | $aを先に+1して、その値を$xに代入 |
$x = $a++; | $aの値を$xに代入し、その後$aを+1 |
サンプル3:前置・後置の違い
ファイル名: lesson25_3.php
<?php
$num = 4;
$result1 = ++$num; // numを+1した後に代入(num=5, result1=5)
$result2 = $num++; // まずnumの値を代入(result2=5)、その後num+1(num=6)
echo "result1: {$result1}, result2: {$result2}, num: {$num}";
?>
実行結果

解説
++$num
は、まずnumを+1した値が返る$num++
は、まず今のnumの値が返り、その後+1される
2.2. 変数展開における「$」の表示方法
PHPでは、ダブルクォーテーション内で$\変数名と書くと変数の値が展開されますが、単に「$n」と表示したい場合は「$n」と「\」でエスケープします。
ファイル名: lesson25_4.php
<?php
$val = 8;
echo "\$val の値は {$val} です。";
?>
実行結果

3.実践例:インクリメント・デクリメントの連続利用
サンプル4:複数回の増減
ファイル名: lesson25_5.php
<?php
$score = 2;
echo "初期値: {$score}<br>";
$score++;
echo "1回目: {$score}<br>";
$score--;
echo "2回目: {$score}<br>";
$score += 2;
echo "3回目: {$score}<br>";
$score--;
echo "4回目: {$score}<br>";
?>
実行結果

まとめ
- インクリメント(++)は変数の値を1増やす、デクリメント(--)は1減らす。
- 前置・後置で式中の使い方に違いがあるので注意
- 変数の値を簡潔に増減できるため、カウンタやループ処理で頻出
- ダブルクォーテーション内で「$変数名」と書くと変数展開、単なる「$」を表示したい場合はエスケープ「$」を使う。
インクリメント・デクリメントを使いこなして、よりスマートなカウント処理を身につけましょう。