Tips

2012.11.27

PHP 加算・減算演算子 【初級編 第26回】

PHP 加算・減算演算子 【初級編 第26回】

加算・減算演算子について

前回は比較演算子について記述しました。
今回は加算・減算演算子について記述していきたいと思います。

加算子・減算子

加算子・減算子を使用すると、変数に代入された値に1を足したり、引いたりすることができます。
値を1つずつプラスまたはマイナスしていく処理を簡潔に記述することができます。
値を1加算する処理をインクリメント、値を1減算する処理をデクリメントといいます。

加算子・減算子はよく for文(for文については後述します)のような回数が決められた回数のループ処理などに使用されます。

加算子・減算子の使い方

たとえば以下のようにすると、変数 $a に代入された値にプラス 1 した値が表示されます。
++ は加算子となります。

<?php
 $a = 1;
 $a++;
 echo $a;
?>

表示結果は以下のようになります。
ブラウザ確認画像

以下のようにすると、代入された値からマイナス 1 した値が表示されます。

<?php
 $a = 2;
 $a--;
 echo $a;
?>

表示結果は以下のようになります。
ブラウザ確認画像

前置・後置の違い

加算子・減算子にはその行の処理前に 1を加算する前置加算子、行の処理後に 1を加算する後置加算子があり、
同様に減算にも前置減算子、後置減算子があります。
先ほどの例は後置加算・減算子でした。

行の処理前と処理後どちらで加算・減算を行うかによって表示結果が異なることになります。
書き方は、前置では、変数名の前に ++ または — を記述します。
後置では、変数名の後に ++ または — を記述します。

<?php
 $a = 1;
 $b = 1;
 echo $a++;
 echo "<br>";
 echo ++$b;
?>

表示結果は以下のように異なった結果になります。
ブラウザ確認画像

これは、$a++ ではその行の処理が終わった後に加算されているが、
++$a ではその行の処理が始まる前に加算処理をしているからです。
減算の場合も同じようになります。

文字列の加算・減算処理

文字列に対しても加算子・減算子を使用することができます。
文字列の場合はアルファベットの順番に a -> b -> c のように加算されることになります。
減算の場合には反対になります。

<?php
 $a = "a";
 echo ++$a;
?>

表示結果は以下のようになります。
ブラウザ確認画像

また “z” に対して加算処理をすると、以下のように “aa” という文字列が表示されます。
頭に “a” を足してまた a – z を繰り返すことになります。

<?php
 $a = "z";
 echo ++$a;
?>

ブラウザ確認画像

2文字が “z” 達すると、1文字目が “b” となり増えていきます。
“zz” まで達すると今度は “aaa” となります。

<?php
 $a = "z";
 echo ++$a;
 echo "<br>";
 $a = "aa";
 echo ++$a;
 echo "<br>";
 $a = "ab";
 echo ++$a;
 echo "<br>";
 $a = "az";
 echo ++$a;
 echo "<br>";
 $a = "ba";
 echo ++$a;
 echo "<br>";
 $a = "bb";
 echo ++$a;
 echo "<br>";
 $a = "zz";
 echo ++$a;
 echo "<br>";
?>

表示結果は以下のようになりました。
ブラウザ確認画像

今回はここまでで次回も引き続き演算子について記述していきたいと思います。

新連載はじまりました!新PHP基礎 連載リンク

PHP基礎 連載

Recent News

Recent Tips

Tag Search