PHP:演算子一覧表(勉強時やお仕事のお供に)

6 min 91 views
PHP演算子一覧

はじめに

あー、ほら、アレ、なんだっけかなー?っていうときに見て欲しい一覧表を作ってみました。

PHP(プログラミング)を学び始めると、必ず出てくるのが「演算子」です。

演算子はプログラムの処理を組み立てるための基本的な要素であり、これを理解することで計算処理や条件分岐、代入などがスムーズに書けるようになります。

この記事では、PHPに登場する演算子をカテゴリー別に一覧表で整理し、サンプルコードも交えてわかりやすく解説していきます。

業務でわからなくなった時や、勉強中に一覧表を見たい時などにお使い頂けると幸いです。

(おまけで下の方に数学関数も置いてます。)

 1. 算術演算子(Arithmetic Operators)

数値計算を行うときに使う基本的な演算子です。

演算子意味使用例結果
+加算5 + 38
-減算5 - 32
*乗算5 * 315
/除算5 / 22.5
%剰余(余り)5 % 21
**べき乗2 ** 38

 2. 代入演算子(Assignment Operators)

変数に値を代入するための演算子です。

演算子意味使用例結果
=代入$x = 5$x に 5
+=加算して代入$x += 3$x = $x + 3
-=減算して代入$x -= 2$x = $x - 2
*=乗算して代入$x *= 2$x = $x * 2
/=除算して代入$x /= 2$x = $x / 2
%=剰余を代入$x %= 2$x = $x % 2
**=べき乗して代入$x **= 2$x = $x ** 2

 3. 比較演算子(Comparison Operators)

条件分岐でよく使われます。

演算子意味使用例結果
==等しい5 == "5"true
===型も含めて等しい5 === "5"false
!=等しくない5 != 3true
!==型も含めて等しくない5 !== "5"true
>より大きい5 > 3true
<より小さい5 < 3false
>=以上5 >= 5true
<=以下3 <= 5true
<=>宇宙船演算子5 <=> 31(左が大きい)

 4. 論理演算子(Logical Operators)

複数の条件を組み合わせるときに使います。

演算子意味使用例結果
&&AND(かつ)(5 > 3 && 2 > 1)true
``OR(または)
!NOT(否定)!(5 > 3)false
andAND(低い優先度)(5 > 3 and 2 > 1)true
orOR(低い優先度)(5 > 3 or 2 < 1)true
xor排他的OR(true xor true)false

 5. インクリメント・デクリメント演算子

変数の値を1増減させるためのもの。

演算子意味使用例結果
++$x前置インクリメント$x=5; ++$x;6
$x++後置インクリメント$x=5; $x++;5(次から6)
--$x前置デクリメント$x=5; --$x;4
$x--後置デクリメント$x=5; $x--;5(次から4)

 6. 文字列演算子(String Operators)

演算子意味使用例結果
.文字列結合"Hello" . "World"HelloWorld
.=結合して代入$str = "Hello"; $str .= "World";HelloWorld

 7. 配列演算子(Array Operators)

演算子意味使用例
+配列の結合[1,2] + [2,3][1,2,3]
==配列が等しい['a'=>1] == ['a'=>1] → true
===配列が完全一致同上(順序・型まで一致)
!=等しくない['a'=>1] != ['a'=>2] → true
!==完全一致でない同上

 8. 型演算子(Type Operators)

演算子意味使用例
instanceofオブジェクトが特定クラスのインスタンスか判定$obj instanceof MyClass

 9.特殊な演算子まとめ

演算子名称意味 / 説明使用例結果
<=>宇宙船演算子(Spaceship Operator)左右を比較し、左が小さいなら -1、等しいなら 0、左が大きいなら 1 を返す5 <=> 31
?:三項演算子(Ternary Operator)条件 ? 真の場合 : 偽の場合 の形式で条件分岐を一行で書ける$x > 0 ? 'OK' : 'NG'$x=1なら OK
??NULL合体演算子(Null Coalescing Operator)左辺がNULLなら右辺を返す$name = $input ?? 'ゲスト';$inputがNULLなら 'ゲスト'
@エラー制御演算子実行時エラーを非表示にする@$x = 1/0;エラーを抑制
.文字列結合演算子文字列を結合する"Hello" . "World"HelloWorld
.=文字列結合代入演算子文字列を結合して代入する$str = "Hello"; $str .= "World";HelloWorld
`cmd`実行演算子(Execution Operator)文字列をシェルコマンドとして実行し、結果を返す$output = `ls`;ディレクトリ一覧

 10.PHP 演算子の優先順位(全体版)

PHPの演算子は多いですが、優先順位を知っておくと 思わぬバグを防ぐ ことができます。

以下の表は主な演算子を優先度順に並べたものです。

優先度(高→低)演算子説明使用例
1clonenewオブジェクト生成、コピー$obj = new MyClass();
2[ ]配列要素のアクセス$arr[0]
3++ --インクリメント、デクリメント(前置)++$x
4**べき乗2 ** 3 → 8
5~ !ビット否定、論理否定!true → false
6* / %乗算、除算、剰余5 % 2 → 1
7+ - .加算、減算、文字列結合"A" . "B""AB"
8<< >>ビットシフト8 >> 2 → 2
9< <= > >=比較演算子5 > 3
10== != === !== <=>等価、非等価、厳密比較、宇宙船演算子5 <=> 3 → 1
11&ビットAND6 & 3 → 2
12^ビットXOR6 ^ 3 → 5
13|ビットOR6 | 3 → 7
14&&論理AND(true && false) → false
15||論理OR(true || false) → true
16??NULL合体演算子$name = $input ?? 'guest';
17?:三項演算子$x > 0 ? 'OK' : 'NG'
18= += -= *= /= %= .=代入演算子$x += 3;
19and論理AND(低い優先度)$a = true and false;
20xor排他的OR(低い優先度)$a = true xor false;
21or論理OR(低い優先度)$a = false or true;

 補足ポイント

  • !(否定)、~(ビット否定)は思った以上に強い。
  • 三項演算子 ?: と NULL合体演算子 ?? は実務で大活躍するが、代入との絡みで誤解しやすい
  • and / or優先度が極端に低いため、括弧で囲うか && / || を使うのが安全。

まとめ

PHPの演算子は種類が多く、最初は「覚えきれない!」と感じるかもしれません。しかし、カテゴリごとに整理して学ぶことで自然と使えるようになります。特に 比較演算子・論理演算子・代入演算子 は実務で頻出なので、表を見ながら書いていくとすぐに慣れるでしょう。

関数説明使用例結果
abs()絶対値を返すabs(-5)5
ceil()小数点を切り上げceil(4.2)5
floor()小数点を切り捨てfloor(4.8)4
round()四捨五入round(4.6)5
max()最大値を返すmax(1, 5, 3)5
min()最小値を返すmin(1, 5, 3)1
pow()べき乗(演算子 ** と同じ)pow(2, 3)8
sqrt()平方根sqrt(16)4
fmod()剰余(小数にも対応)fmod(5.7, 1.3)0.5
intdiv()整数の商を返すintdiv(7, 3)2
rand()乱数を生成(推奨は random_int()rand(1, 10)1〜10の整数
mt_rand()高速乱数生成(推奨)mt_rand(1, 10)1〜10の整数
random_int()暗号論的に安全な乱数random_int(1, 10)1〜10の整数
pi()円周率 π を返すpi()3.1415926535…
deg2rad()度をラジアンに変換deg2rad(180)3.14159…
rad2deg()ラジアンを度に変換rad2deg(pi())180

💡 学習のヒント

  • round() は小数点以下の桁数も指定可能 → round(3.14159, 2)3.14
  • intdiv() は「整数の割り算」なので小数点が出ない → SQLの DIV と同じ感覚で使える
  • 乱数は セキュリティ用途なら random_int() を選ぶのがベスト

 1. 丸め・切り捨て/切り上げ系

関数説明使用例結果
abs()絶対値を返すabs(-5)5
ceil()小数点を切り上げceil(4.2)5
floor()小数点を切り捨てfloor(4.8)4
round()四捨五入(小数点の桁数指定可能)round(3.14159, 2)3.14

 2. 最大値・最小値・累乗

関数説明使用例結果
max()最大値を返すmax(1, 5, 3)5
min()最小値を返すmin(1, 5, 3)1
pow()べき乗(** と同等)pow(2, 3)8
sqrt()平方根を返すsqrt(16)4
fmod()浮動小数点の剰余fmod(5.7, 1.3)0.5
intdiv()整数の商を返すintdiv(7, 3)2

 3. 乱数生成

関数説明使用例結果
rand()乱数を生成(非推奨、互換用)rand(1, 10)1〜10 の整数
mt_rand()高速乱数生成(推奨)mt_rand(1, 10)1〜10 の整数
random_int()暗号論的に安全な乱数random_int(1, 10)1〜10 の整数

 4. 定数・角度変換

関数説明使用例結果
pi()円周率 π を返すpi()3.1415926535…
deg2rad()度をラジアンに変換deg2rad(180)3.14159…
rad2deg()ラジアンを度に変換rad2deg(pi())180

 5. 三角関数

関数説明使用例結果
sin()サイン(正弦)sin(pi()/2)1
cos()コサイン(余弦)cos(0)1
tan()タンジェント(正接)tan(pi()/4)1
asin()逆サインasin(1)1.5707… (π/2)
acos()逆コサインacos(1)0
atan()逆タンジェントatan(1)0.7853… (π/4)
atan2()Y/X のアークタンジェント(第1〜4象限対応)atan2(1,1)0.7853… (π/4)

 6. 指数・対数関数

関数説明使用例結果
exp()e のべき乗exp(1)2.718…
expm1()exp(x) - 1 を高精度で計算expm1(1)1.718…
log()自然対数(底 e)log(exp(1))1
log10()底10の対数log10(1000)3
log1p()log(1 + x) を高精度で計算log1p(0.5)0.405…

💡 学習のコツ

  • 三角関数は ラジアン単位(角度で使いたいなら deg2rad() とセットで)
  • atan2(y, x) はグラフ座標で角度を求めるときに便利
  • expm1()log1p()誤差が出やすい小数計算で役立つ
created by Rinker
¥3,740 (2025/10/10 10:57:58時点 楽天市場調べ-詳細)
created by Rinker
¥4,290 (2025/10/10 10:57:59時点 楽天市場調べ-詳細)
関連記事