PHPにおける演算子とは、特定の処理や計算を行うための記号やキーワードであり、値や変数に対して演算を適用する役割を持ちます。その演算子によって操作される対象となる値や変数のことを被演算子と呼びます。
算術演算子(さんじゅつえんざんし)とは、数値同士の計算を行うための記号や記法のことである。主にプログラミングや数学で使われ、加算・減算・乗算・除算などの基本計算を表す。PHPには、以下に示す算術演算子がある。
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
+ | 加算 | 1 + 2 | 3 |
- | 減算 | 3 - 2 | 1 |
* | 乗算 | 2 * 3 | 6 |
/ | 除算 | 6 / 2 | 3 |
% | 剰余 | 10 / 3 | 1 |
** | 累乗 | 2 ** 3 | 8 |
除算の切り捨てや切り上げは関数を使う。
関数 | 説明 |
---|---|
floor() | 切り捨て |
ceil() | 切り上げ |
round() | 四捨五入 |
演算子 | 説明 | 使用例 |
---|---|---|
= |
代入 | $a = $b |
+= |
加算代入。$a = $a + $b と同じ。 |
$a += $b |
-= |
減算代入。$a = $a - $b と同じ。 |
$a -= $b |
*= |
乗算代入。$a = $a * $b と同じ。 |
$a *= $b |
/= |
除算代入。$a = $a / $b と同じ。 |
$a /= $b |
%= |
剰余代入。$a = $a % $b と同じ。 |
$a %= $b |
&= |
ビット論理積代入。$a = $a & $b と同じ。 |
$a &= $b |
|= |
ビット論理和代入。$a = $a | $b と同じ。 |
$a |= $b |
^= |
ビット排他的論理和代入。$a = $a ^ $b と同じ。 |
$a ^= $b |
<<= |
左シフト代入。$a = $a << $b と同じ。 |
$a <<= $b |
>>= |
右シフト代入。$a = $a >> $b と同じ。 |
$a >>= $b |
増分演算子(インクリメント演算子)とは、変数の値を1つ増やす演算子である。変数の値を増やしてから変数の値を評価する前置増分演算子と、変数の値を評価してから変数の値を増やす後置増分演算子がある。
名前 | 例 |
---|---|
前置増分演算子 | ++$x |
後置増分演算子 | $x++ |
前置増分演算子は、以下に示す順序で演算と評価を行う。
前置増分演算子の例を次に示す。
$x = 1;
$y = ++$x; // x = 2, y = 2
これは、次のコードと同じである。
$x = 1;
$x = $x + 1;
$y = $x;
後置増分演算子は、以下に示す順序で演算と評価を行う。
後置増分演算子の例を次に示す。
$x = 1;
$y = $x++; // x = 2, y = 1
これは、次のコードと同じである。
$x = 1;
$y = $x;
$x = $x + 1;
減分演算子(デクリメント演算子)とは、変数の値を1つ減らす演算子である。変数の値を減らしてから変数の値を評価する前置減分演算子と、変数の値を評価してから変数の値を減らす後置減分演算子がある。
名前 | 例 |
---|---|
前置減分演算子 | --$x |
後置減分演算子 | $x-- |
前置減分演算子は、以下に示す順序で演算と評価を行う。
前置減分演算子の例を次に示す。
$x = 1;
$y = --$x; // x = 0, y = 0
これは、次のコードと同じである。
$x = 1;
$x = $x - 1;
$y = $x;
後置減分演算子は、以下に示す順序で演算と評価を行う。
後置減分演算子の例を次に示す。
$x = 1;
$y = $x--; // x = 0, y = 1
これは、次のコードと同じである。
$x = 1;
$y = $x;
$x = $x - 1;
評価式 ? 真の場合の値 : 偽の場合の値
演算子 | 説明 |
---|---|
and | 論理積 |
&& | |
or | 論理和 |
|| | |
xor | 排他的論理和 |
! | 否定 |
a + b
2つの配列を結合する。
<?php
$a = array("a" => "foo", "b" => "bar");
$b = array("a" => "baz", "b" => "qux");
$c = $a + $b;
?>
a == b
2つの配列のキーおよび値が等しければ true と評価される。
a === b
2つの配列のキーおよび値が等しく、その並び順が等しく、かつデータ型も等しければ true と評価される。
a != b
2つの配列のキーおよび値が等しくなければ true と評価される。
a <> b
2つの配列のキーおよび値が等しくなければ true と評価される。
a !== b
2つの配列が同一でなければ true と評価される。
a . b
2つの文字列を連結する。
<?php
$a = "foo";
$b = "bar";
$c = $a . $b;
?>
a .= b
左辺の文字列と右辺の文字列を代入して、左辺の変数に代入する。a = a . b
と同じ。
<?php
$a = "foo";
$b = "bar";
$a .= $b;
?>