加算子/減算子

PHP はC言語形式を前置および後置の加算子および減算子をサポートします。

表 15-5. 加算子/減算子

名前効果
++$a前置加算子$a に1を加え、$a を返します。
$a++後置加算子$a を返し、$a に1を加えます。
--$a前置減算子$a から1を引き、$a を返します。
$a--後置減算子$aを返し、$a から1を引きます。

以下に簡単なスクリプトの例を示します。

<?php
echo "<h3>後置加算</h3>";
$a = 5;
echo
"5となります: " . $a++ . "<br>\n";
echo
"6となります: " . $a . "<br>\n";

echo
"<h3>前置加算</h3>";
$a = 5;
echo
"6となります: " . ++$a . "<br>\n";
echo
"6となります: " . $a . "<br>\n";

echo
"<h3>後置減算</h3>";
$a = 5;
echo
"5となります: " . $a-- . "<br>\n";
echo
"4となります: " . $a . "<br>\n";

echo
"<h3>前置減算</h3>";
$a = 5;
echo
"4となります: " . --$a . "<br>\n";
echo
"4となります: " . $a . "<br>\n";
?>

PHPは算術演算子で文字変数を扱った場合にCではなくperlの慣習に 従います。例えば、perlでは 'Z'+1 は 'AA' を返しますが Cでは 'Z'+1 は '[' ( ord('Z') == 90, ord('[') == 91 ) を返します。 文字変数はインクリメントされることは可能ですがデクリメントは不可能である ことに注意してください。

例 15-1. 文字変数に対する算術演算子の使用

<?php
$i
= 'W';
for(
$n=0; $n<6; $n++)
  echo ++
$i . "\n";

/*
  以下のような結果が出力されます:

X
Y
Z
AA
AB
AC

*/
?>