Menu
Coddy logo textTech

Increment/Decrement

CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 19/71。

変数に対して正確に 1 を加算または減算する必要がある場合、PHP は複合代入よりもさらに短い方法を提供します:incrementdecrement 演算子です。

インクリメント演算子(++)は変数に 1 を加算し、デクリメント演算子(--)は 1 を減算します:

<?php
$count = 5;
$count++;  // $count is now 6
$count--;  // $count is now 5 again
?>

これらの演算子は変数の前または後に配置でき、それによって変更のタイミングが異なります:

<?php
$a = 5;
echo $a++;  // Outputs: 5, then $a becomes 6
echo $a;    // Outputs: 6

$b = 5;
echo ++$b;  // $b becomes 6, then outputs: 6
?>

$a++(後置インクリメント)の場合、元の値が最初に使用され、その後インクリメントされます。++$b(前置インクリメント)の場合、値が最初にインクリメントされ、その後使用されます。同じロジックが--(デクリメント)にも適用されます。

challenge icon

チャレンジ

簡単

入力から数値を読み込み、$counter という変数に格納します。

以下の操作を順番に実行し、各 echo 文の結果を新しい行に印刷します:

  1. $counter++ の値を出力(後置インクリメント)
  2. 現在の $counter の値を出力
  3. ++$counter の値を出力(前置インクリメント)
  4. $counter-- で減算(出力不要)
  5. 最終的な $counter の値を出力

例:

入力が 10 の場合、出力は次のようになります:

10
11
12
11

説明:

  • 後置インクリメントは 10 を出力し、その後 $counter は 11 になります
  • 現在の値は 11
  • 前置インクリメントは $counter を 12 にし、その後 12 を出力します
  • 減算により $counter は 11 になります
  • 最終値は 11

チートシート

インクリメント演算子++)は変数に 1 を加算し、デクリメント演算子--)は 1 を減算します:

<?php
$count = 5;
$count++;  // $count is now 6
$count--;  // $count is now 5 again
?>

これらの演算子は変数のまたはに配置できます:

  • 後置インクリメント$a++):最初に元の値を使用し、その後インクリメントします
  • 前置インクリメント++$a):最初にインクリメントし、その後新しい値を使用します
<?php
$a = 5;
echo $a++;  // Outputs: 5, then $a becomes 6
echo $a;    // Outputs: 6

$b = 5;
echo ++$b;  // $b becomes 6, then outputs: 6
?>

デクリメント演算子(--)にも同じロジックが適用されます。

自分で試してみよう

<?php
// 入力を読み取る
$counter = intval(fgets(STDIN));

// TODO: 以下にコードを書く
// 1. $counter++ (後置インクリメント) の値を印刷する

// 2. $counter の現在の値を印刷する

// 3. ++$counter (前置インクリメント) の値を印刷する

// 4. -- を使用して $counter をデクリメント (印刷不要)

// 5. $counter の最終値を印刷する

?>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン