PHPの演算子

PHPにおける演算子とは、特定の処理や計算を行うための記号やキーワードであり、値や変数に対して演算を適用する役割を持ちます。その演算子によって操作される対象となる値や変数のことを被演算子と呼びます。

目次

  1. 算術演算子
  2. 比較演算子
  3. 増分演算子
    1. 前置増分演算子
    2. 後置増分演算子
  4. 減分演算子
    1. 前置減分演算子
    2. 後置減分演算子
  5. 配列演算子
  6. 文字列演算子

算術演算子

算術演算子(さんじゅつえんざんし)とは、数値同士の計算を行うための記号や記法のことである。主にプログラミングや数学で使われ、加算・減算・乗算・除算などの基本計算を表す。PHPには、以下に示す算術演算子がある。

PHPの算術演算子
演算子 意味 結果
+ 加算 1 + 2 3
- 減算 3 - 2 1
* 乗算 2 * 3 6
/ 除算 6 / 2 3
% 剰余 10 / 3 1
** 累乗 2 ** 3 8

除算の切り捨てや切り上げは関数を使う。

関数説明
floor() 切り捨て
ceil() 切り上げ
round() 四捨五入

代入

PHPの演算子
演算子説明使用例
= 代入 $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++

前置増分演算子

前置増分演算子は、以下に示す順序で演算と評価を行う。

  1. 変数の値を1つ増やす
  2. 変数の値を評価する

前置増分演算子の例を次に示す。

$x = 1;
$y = ++$x; // x = 2, y = 2

これは、次のコードと同じである。

$x = 1;
$x = $x + 1;
$y = $x;

後置増分演算子

後置増分演算子は、以下に示す順序で演算と評価を行う。

  1. 変数の値を評価する
  2. 変数の値を1つ増やす

後置増分演算子の例を次に示す。

$x = 1;
$y = $x++; // x = 2, y = 1

これは、次のコードと同じである。

$x = 1;
$y = $x;
$x = $x + 1;

減分演算子

減分演算子(デクリメント演算子)とは、変数の値を1つ減らす演算子である。変数の値を減らしてから変数の値を評価する前置減分演算子と、変数の値を評価してから変数の値を減らす後置減分演算子がある。

減分演算子
名前
前置減分演算子 --$x
後置減分演算子 $x--

前置減分演算子

前置減分演算子は、以下に示す順序で演算と評価を行う。

  1. 変数の値を1つ減らす
  2. 変数の値を評価する

前置減分演算子の例を次に示す。

$x = 1;
$y = --$x; // x = 0, y = 0

これは、次のコードと同じである。

$x = 1;
$x = $x - 1;
$y = $x;

後置減分演算子

後置減分演算子は、以下に示す順序で演算と評価を行う。

  1. 変数の値を評価する
  2. 変数の値を1つ減らす

後置減分演算子の例を次に示す。

$x = 1;
$y = $x--; // x = 0, y = 1

これは、次のコードと同じである。

$x = 1;
$y = $x;
$x = $x - 1;

3項演算子

評価式 ? 真の場合の値 : 偽の場合の値

論理演算子

PHPの論理演算子
演算子 説明
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;
?>

関連記事