ホームページ >バックエンド開発 >PHPチュートリアル >PHPのインクリメント/デクリメント演算子
PHP は、C スタイルのプリ/ポストインクリメント演算子とデクリメント演算子をサポートしています。
注: インクリメント/デクリメント演算子はブール値には影響しません。 NULL 値を減分しても効果はありませんが、NULL を増やすと 1 になります。
増分/減少演算子
例
名前
効果
++$a $a の値の前に 1 を付加して、$a を返します。
$a++ の後に を指定すると、$a が返され、$a の値に 1 が加算されます。
--$a $a の値から 1 を引いて、$a を返します。
$a-- 減算後 $a が返され、$a の値が 1 ずつ減ります。
簡単なスクリプト例:
<?php echo "<h3>Postincrement</h3>"; $a = 5; echo "Should be 5: " . $a++ . "<br />\n"; echo "Should be 6: " . $a . "<br />\n"; echo "<h3>Preincrement</h3>"; $a = 5; echo "Should be 6: " . ++$a . "<br />\n"; echo "Should be 6: " . $a . "<br />\n"; echo "<h3>Postdecrement</h3>"; $a = 5; echo "Should be 5: " . $a-- . "<br />\n"; echo "Should be 4: " . $a . "<br />\n"; echo "<h3>Predecrement</h3>"; $a = 5; echo "Should be 4: " . --$a . "<br />\n"; echo "Should be 4: " . $a . "<br />\n"; ?>
文字変数の算術演算を扱うとき、PHP は C の習慣ではなく Perl の習慣に従います。たとえば、Perl では $a = 'Z'; は $a に変換されますが、C では a = 'Z'; は ASCII 値に変換されます。 '[' の ASCII 値は 90、'[' の ASCII 値は 91)。文字変数は増分のみ可能で減分はできず、純粋な文字 (a ~ z および A ~ Z) のみがサポートされることに注意してください。他の文字変数のインクリメント/デクリメントは無効であり、元の文字列は変更されません。
例 #1 文字変数を含む算術演算
<?php $i = 'W'; for ($n=0; $n<6; $n++) { echo ++$i . "\n"; } ?>
上記のルーチンは出力します:
X Y Z AA AB AC