ホーム > PHPの文法 > 4 演算子 > PHP の 算術演算子(代数演算子)
PHPリファレンス

UPDATE:2019年11月15日

PHP の 算術演算子(代数演算子)

PHP の 算術演算子 | wepicks!
PHP4 PHP5 PHP7

1 Minute Note

+加算(足す)減算(引く)
*乗算(掛ける)/除算(割る)
%剰余(あまり)
算術演算子は一般的な計算「+(足す)」「-(引く)」「*(掛ける)」「/(割る)」「%(余り)」を行うものです。

算術演算子(代数演算子)とは

POINT

  • 算術演算子は
    +(足す) -(引く) *(掛ける) /(割る) %(余り)

算術演算子は一般的な計算「+(足す)」「-(引く)」「*(掛ける)」「/(割る)」「%(余り)」を行うものです。計算の優先順位や結合時の評価は以下の表を確認して下さい。

結果は

3
1
200
5
2

となります。

算術演算子の種類

算術演算子の種類、優先順位、結合時の評価です。すべての演算子の種類や優先順位はこちらを参照下さい。

演算子名前優先順位結合時の評価結果
+加算2left$a + $b$a および $b の和
減算left$a – $b$a と $b の差
*乗算1left$a + $b$a および $b の積
/除算left$a / $b$a および $b の商
%剰余left$a % $b$a を $b で割った余り

算術演算子の注意点

注意点

  • 除算演算子 「/」 の返す値は浮動小数点数となります。ただし、2つのオペランド(演算子の対象となる値)が両方とも整数値 (あるいは整数に変換できる文字列) であり、そして、返す値が割り切れる場合には整数値を返します
  • 剰余演算子「%」は、オペランドを整数に変換(小数点以下切捨)してから計算を行います。
  • 剰余演算子「%」の計算結果の値の符号は、被除数の符号と同じになります。 $a % $b の場合、計算結果の符号は $a と同じになります。

除算演算子「/」割り切れる場合、値は整数型となる。

結果は

整数型

除算演算子「/」割り切れない場合、値は浮動小数点型となる。

結果は

浮動小数点型

剰余演算子「%」は、オペランドを整数に変換(小数点以下切捨)してから計算を行います。オペランドが浮動小数点型でも計算結果の値のデータ型は整数型になります。ですが、オペランドとして計算した変数のデータ型自体は変化しません。

結果は

2
整数型
47.8
9.9

剰余演算子「%」の計算結果の値の符号は、被除数の符号と同じになります。

結果は

-2

計算の優先順位と結合順

演算子の優先順位と結合順を考えて見ましょう。

加算減算

結果は

8

となります。
5 + 10 で 15 となり 15 – 7 で 8 となります。
優先順位が同じ演算子が使用された場合は結合順に従います。結合順はleftなので左から順番に計算します。

乗算除算剰余

結果は

4

となります。
10 * 8 で 80 となり 80 / 2 で 40 となり 40 % 6 で余り 4 となります。
優先順位が同じ演算子が使用された場合は結合順に従います。結合順はleftなので左から順番に計算します。

乗算加算

結果は

82

となります。
10 * 8 で 80 となり 80 + 2 で 82 となります。
乗算の優先順位が加算より高いので乗算を先に行います。

乗算除算加算減算

結果は

25

となります。
5 * 5 で 25 となり 10 / 5 で 2 となり 25 + 2 で 27 となり 27 – 2 で 25 となります。
乗算と除算を左から先に行い、加算と減算を左から後で行います。

「()」の使用

結果は

30

となります。
3 + 2 で 5 となり 6 * 5 で 30 となります。
「()」内が優先して計算されます。

サンプルコード

– サンプル Click Here ! –

実行結果
加算減算
8

乗算除算剰余
4

加算乗算
82

乗算除算加算減算
25

「()」の使用
30

– サンプル Click Here ! –

PHPの演算子

演算子の種類

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

演算子の優先順位

POINT

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


PHPの演算子 早見表
優先
順位
演算子名前種類結合時の
評価
働き
19newnewnew結合なし新規オブジェクト作成
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??NULL合体演算子NULL合体演算子right
6? : 三項演算子
(条件演算子)
三項演算子
(条件演算子)
left条件演算子
5 =
+=
-=
*=
**=
/=
%=
.=
&=
|=
^=
~=
<<=
>>=
=>
代入
加算代入
減算代入
乗算代入
累乗代入
除算代入
乗算代入
連結代入
ビットAND代入
ビットOR代入
ビットXOR代入
ビット否定
左シフト代入
右シフト代入
配列値代入
代入演算子right操作結果の代入
4and 論理積(AND)論理演算子left論理積(AND)
3xor排他的論理和(XOR)論理演算子left排他的論理和(XOR)
2or論理和(OR)論理演算子left論理和(OR)
1,さまざまな利用法さまざまな利用法leftリストの区切り


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

日付

公開日:2019年11月11日
最終更新日:2019年11月15日

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

この記事へのコメント

トラックバックurl

https://wepicks.net/phpref-operators_arithmetic/trackback/

page top