PHP - BASIC - 3. PHPの演算子 - 2. 代数演算子

それでは演算子について詳しく見ていきましょう。まずは代数演算子です。代数演算子とは足し算や引き算、掛け算、割り算のような四則演算が中心になります。次のプログラム( ope2.php )を作成してみましょう。

<?php
$x = 5;
$y = 2;
$z = $x + $y;
echo $z; # => 7

$z = $x - $y;
echo $z; # => 3

$z = $x * $y;
echo $z; # => 10

$z = $x / $y;
echo $z; # => 2.5

$z = $x % $y;
echo $z; # => 1

$z = $x ** $y;
echo $z; # => 25

プログラムの実行結果から四則演算の様子が確認できるでしょう。注意しておきたいのは除算を行う / 、剰余(余り)を求める % 、累乗を求める ** です。

まず除算を行う / 演算子は、演算結果が浮動小数点数型になる点を確認しておいてください。 5 / 2 の結果は 2.5 となります。このとき 5 / 2 の演算結果が 2 (余り 1 )のように整数型とならない点に注意してください。商を整数型で求めたい場合は intdiv 関数を使うなど工夫する必要があります。

続いて剰余演算子 % についてです。これは除算時の余りをもとめる演算子です。たとえば 5 % 2 の演算結果は余りである 1 が返ります。剰余演算子は変数の値が 2 の倍数や 3 の倍数などとチェックしたい場合にも利用できます。 2 の倍数かどうかチェックするには求めた剰余(余り)が 0 かどうかで判定できます。

最後に累乗演算子 ** です。たとえば 5 ** 2 の場合は、 52 乗である 25 が返ります。

もう一つ四則演算に慣れるために簡単なプログラムを作成してみましょう。次のプログラム( ope3.php )を作成してみましょう。

<?php
$age = 20;
$age = $age + 1;
echo $age; # => 21

上記のプログラムを実行すると 21 という結果が出力されます。プログラミングを習い始めの頃は $age = $age + 1; の部分が少し難しく感じるかもしれません。代入演算子 = の左辺と右辺に同じ変数 $age が出てくるからです。プログラムの実行には順序があり、基本的には上から下に処理は流れていきます。

<?php
$age = 20;

上記のプログラムが処理された時点で変数 $age には 20 が代入されています。そのため $age = $age + 1;$age = 20 + 1; と解釈できます。

# $age = 20 + 1; と同じ意味
$age = $age + 1;

代入演算子 = を見つけたら、 = の後の部分(この場合 $age + 1 )が先に処理されると考えてください。これは代入演算子 = に比べて代数演算子( + など)の方が処理の優先度が高いためです。

まとめ

  • 四則演算には + - * / を使う
  • 余りを求めるには % を使う
  • 累乗を求めるには ** を使う