2023.07.29
【PHP】基礎 主な演算子一覧

はじめに

この記事では演算子を一覧でまとめます。

四則演算子

演算子内容
+足し算5 + 3
引き算3 – 2
*掛け算2 * 3
/割り算6 / 2
%割り算の余り5 % 2
**累乗2 ** 3

前置・後置加算子(++$a, $a++)、前置・後置減算子(–$a, $a–)

演算子(例)内容
++$a$aに1を加えた後で$aを返す
$a++$aを返した後に$aに1を加える
–$a$aから1を引いた後で$aを返す
$a–$aを返した後で$aから1を引く

補足:前置・後置の挙動の違い

■前置の場合

$num = 7;
$added = ++$num;

と書いた場合以下の動作になります。

$num = 7;
$num = $num + 1; //1を足す ※代入の前に足す
$added = $num;  //$numを返す

■後置の場合

$num = 7;
$added = $num++;

と書いた場合以下の動作になります。

$num = 7;
$added = $num;  //$numを返す
$num = $num + 1; //1を足す ※代入の後に足す

複合演算子

演算子記述例代入演算子で書いた場合
+=$num += 3;$num = $num + 3;
-=$num -= 3;$num = $num – 3;
*=$num *= 3;$num = $num * 3;
/=$num /= 3;$num = $num / 3;
%=$num %= 3;$num = $num % 3;
**=$num **= 3;$num = $num ** 3;
.=$string .= ‘abc’;$string = $string . ‘abc’;

比較演算子

演算子内容
==2つの値が等しい
===2つの値とデータ型が等しい
!=2つの値が異なる ※「<>」も同じ
!==2つの値が異なる or データ型が異なる
<左辺が小さい
>左辺が大きい
<=左辺が右辺以下
>=左辺が右辺以上

宇宙演算子(<=>)

宇宙演算子は大小、等しいを一度に比較する演算子です。

以下のように使います。

$a = 1;
echo $a <=> 3;  //-1が出力されます。

宇宙演算子を使った際に帰ってくる値は以下の表のとおりです。

帰ってくる値内容
0等しい
1左辺の値の方が大きい
-1左辺の値の方が小さい

論理演算子

演算子書き方内容
!![条件]条件がfalseの時trueを返す
&&[条件1] && [条件2]かつ。条件1,2両方満たす場合にtrue
||[条件1] || [条件2]または。条件1,2のどちらか1つでも満たせばtrue
and[条件1] and [条件2]かつ。 ※「&&」と同じ挙動だが優先度が低い
xor[条件1] xor [条件2]条件1,2の片方のみがtrueの時、trueを返す。
or[条件1] or [条件2]または。※「||」と同じ挙動だが優先度が低い

※論理演算子には優先度があり、表は優先度の高い順に上から並べています。
※優先度は「()」でコントロールできます。
  使い方)([条件1] || [条件2]) && [条件3] 
         ↑↑条件1または条件2を満たし、かつ条件3を満たす場合true

条件演算子(任意の条件で返す値を変える)

演算子内容
三項演算子[比較条件] ? [trueの場合の値] : [falseの場合の値];
例)$a < 0 ? 0 : $a;
null合体演算子[nullか調べる値] ?? [nullだった場合の値];
例)$a ?? ‘$a is null’;

※nullでないなら「$a」を、nullなら「$a is null」を返す。