PHPでウェブの世界と繋がろう!
menu
ホーム > PHPの文法 > 4 演算子 > 4-1 PHPの演算子

4-1 PHPの演算子

Pocket

- 1 分ノート ! -

  • PHPの演算子値(オペランドまたは式)を操作して別の値を生成する
  • :例えば 1 という値は 1 という値を持つ式のこと
  • :式とは値があるもののこと
  • 最も簡単な式リテラル値 定数 変数
  • オベランド:演算の対象となる値や変数のこと
  • リテラル:リテラルとは値そのもののこと
  • 演算子は単項演算子 二項演算子 三項演算子の3分類
  • 演算子は計算の優先順位がある

演算子とは
POINT

  • PHPの演算子値(オペランドまたは式)を操作して別の値を生成する
  • :例えば 1 という値は 1 という値を持つ式のこと
  • :式とは値があるもののこと。最も簡単な式リテラル値 定数 変数
  • オベランド:演算の対象となる値や変数のこと
  • リテラル:リテラルとは値そのもののこと。プログラム内でそのままの形で現れます。例えば「2011」「'hello'」など。

 演算子とは、1つ以上の「」(オペランドまたは)を受け取り、操作(足したり、引いたり)を行い、別の値を生み出すもののことです。

例えば、演算子を使用した式は以下のようなものです。

$i = 1 + 2;

1 という値と 2 という値を「+(加算演算子)」で加算して 3 という値を生み出します。生成した 3 という値を「=(代入演算子)」で 変数 $i に代入しています。

$i = 1 + 2;
echo $i;

結果は

3

となります。

演算子の分類
POINT

  • 演算子は単項演算子 二項演算子 三項演算子の3分類

演算子は、受け取る値(オペランド)の数によって分類することができます。

単項演算子

単項演算子は、1つの値(オペランド)だけを受け取るもので、「! (論理否定演算子)」 や 「++ (加算子)」 などです。

$i = 1;
$i++;
echo $i;

結果は

2

となります。

二項演算子

二項演算子は、2つの値(オペランド)を受け取ります。代数演算子 である「+ (加算)」や 「- (減算)」 などです。 PHPの殆どの演算子はこの二項演算子です。

$i = 1 + 2;
$i;
echo $i;

結果は

3

となります。

三項演算子

三項演算子は、3つの値(オペランド)を受け取るります。三項演算子は「 ? : 」のみです。三項演算子はその働きから条件演算子というほうが適切です。

echo (1) ? 'TRUE' : 'FALSE';

結果は

TRUE

となります。

演算子の種類
算術演算子 算術演算子は「足す」「引く」「掛ける」「割る」「余り」
代入演算子 代入演算子は変数に値を代入したり、変数の値を更新する
ビット演算子 ビット演算子は、整数値をビット値で演算
ビットはコンピュータが処理する最小単位
比較演算子 比較演算子は左右のオペランドを比較する
結果と「true(真)」「false(偽)」で返す
加算子(インクリメント演算子)・減算子(デクリメント演算子) 加算子/減算子は値を1ずつ増減
文字列演算子 文字列演算子は結合と結合代入の2種類
論理演算子 論理演算子は論理値を評価し論理値を返す
キャスト演算子 キャスト演算子は右辺オペランドのデータ型を指定した型にする
エラー制御演算子 エラー制御演算子 @ を式の前に付けると式のエラーは無視される
実行演算子 PHPは実行演算子「“(バッククォート)」をサポート
条件演算子(三項演算子) (条件式) ? 真の場合の式 : 偽の場合の式;
配列演算子 配列演算子は配列を統合したり比較したりする

PHPの演算子と優先順位
POINT
  • 演算子は計算の優先順位がある




演算子 名前 種類 結合時の
評価
働き
19 new new new 結合なし 新規オブジェクト作成
18 [ array() array() left 配列の添字
17 ++ 加算子 加算子 結合なし 増加
  減算子 減算子 結合なし 減少
  ~ ビット否定 型 ビット演算子 right ビット反転
  (int)
(float)
(string)
(array)
(object)
(bool)
キャスト 型 キャスト演算子 right 整数型へ変換
浮動小数点型へ変換
文字列型へ変換
配列型へ変換
オブジェクト型へ変換
論理型へ変換
  @ エラー制御 型 エラー制御演算子 right エラー制御
  instanceof 結合なし  
  ! 論理否定(NOT) 論理演算子 right 論理否定(NOT)
16 *
/
%
乗算
除算
剰余
代数演算子 left 乗算
除算
剰余
15 +

.
加算
減算
文字列結合
代数演算子
代数演算子
文字列演算子
left 加算
減算
文字列結合
14 <<
>>
左シフト
右シフト
ビット演算子 left ビット単位左シフト
ビット単位右シフト
13 <
<=
>
>=
<>
より小さい
より小さいか等しい
より大きい
より大きいか等しい
等しくない
比較演算子 結合なし より小さい
より小さいか等しい
より大きい
より大きいか等しい
等しくない
12 ==
!=
===
!==
等しい
等しくない
同じ
同じでない
比較演算子 結合なし 値が等しい
値が等しくない
値と型が同じ
値と型が同じでない
11 & ビット積(AND) ビット演算子 left ビット積(AND)
10 ^ ビット排他的論理和(XOR) ビット演算子 left ビット排他的論理和(XOR)
9 | ビット和(OR) ビット演算子 left ビット和(OR)
8 && 論理積(AND) 論理演算子 left 論理積(AND)
7 || 論理和(OR) 論理演算子 left 論理和(OR)
6 ? : 三項演算子
(条件演算子)
三項演算子
(条件演算子)
left 条件演算子
5 =
+=
-=
*=
/=
%=
.=
&=
|=
^=
<<=
>>=
=>
代入
加算代入
減算代入
乗算代入
除算代入
乗算代入
連結代入
ビットAND代入
ビットOR代入
ビットXOR代入
左シフト代入
右シフト代入
配列値代入
代入演算子 right 操作結果の代入
4 and 論理積(AND) 論理演算子 left 論理積(AND)
3 xor 排他的論理和(XOR) 論理演算子 left 排他的論理和(XOR)
2 or 論理和(OR) 論理演算子 left 論理和(OR)
1 , さまざまな利用法 さまざまな利用法 left リストの区切り


タグ(=記事関連ワード)

タグ: ,

日付

投稿日:2011年10月26日
最終更新日:2014年02月12日

関連記事

配列関数サンプル

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpref-operators/trackback/