インクリメント/デクリメント演算子 - 変数の値を +1/-1
当ページのリンクには広告が含まれています。
PHPには変数の値を「+1」「-1」にするインクリメント演算子とデクリメント演算子が用意されています。
ここではそれら演算子の概要と使い方をサンプルスクリプトを利用して解説していきます。
インクリメント/デクリメント比較演算子
インクリメント演算子はプラス記号「+」を2つ並べた記号「++」で表し、変数の値を「+1」にする役割をもっています。for文などの繰り返し処理でよく使う演算子ですね。
それとは逆にデクリメント演算子はマイナス記号(ハイフン)「-」を2つ並べた記号「--」で表し、変数の値を「-1」にする役割をもっています。
インクリメント/デクリメント演算子を変数の前/後に付けた場合で挙動が異なるので、注意しましょう。
演算子 | 例 | 概要 |
---|---|---|
++ | ++$x | 前置加算子。変数に+1を加え、変数を返します |
++ | $x++ | 後置加算子。変数を返し、変数に+1を加えます。 |
-- | --$x | 前置減算子。変数から-1を引き、変数を返します |
-- | $x-- | 後置減算子。変数を返し、変数から-1を引きます。 |
演算子「++」
演算子「++」のサンプルスクリプトです。
「++」を変数の前/後に付けた場合の挙動の違いを確認します。
<?php // 前置加算子 $x = 2; echo ++$x . "\n"; // 後置加算子 $y = 2; echo $y++ . "\n"; echo $y . "\n"; ?>
実行結果です。
「前置加算子」の場合、値を「+1」してから変数を返すので、「3」になります。
「後置加算子」の場合、変数を返してから値を「+1」するので、「2」になります。
3 2 3
演算子「--」
演算子「--」のサンプルスクリプトです。
「--」を変数の前/後に付けた場合の挙動の違いを確認します。
<?php // 前置減算子 $x = 2; echo --$x . "\n"; // 後置減算子 $y = 2; echo $y-- . "\n"; echo $y . "\n"; ?>
実行結果です。
「前置減算子」の場合、値を「-1」してから変数を返すので、「1」になります。
「後置減算子」の場合、変数を返してから値を「-1」するので、「2」になります。
1 2 1
次は「ビット演算子 - 2進数の演算」をみてみましょう。