PHP演算子の型
オペレーターとは何ですか?簡単な答えは、式4 + 5が9などの計算式をさします。ここで、4と5はオペランドと呼ばれ、+は演算子と呼ばれます。PHP言語は、以下のタイプの演算子をサポートしています。
- 算術演算子
- 比較演算子
- 論理(または関係)演算子
- 代入演算子
- 条件付き(または3値)演算子
すべての演算子を1つずつ見てみましょう。
算術演算子
PHP言語でサポートされている以下の算術演算子があります –
たとえばAが10 Bが20の場合
+ | 2つのオペランドを追加する | A + Bは30を与える |
– | 最初のオペランドから2番目のオペランドを減算する | A – Bは-10を与える |
* | 両方のオペランドを乗算する | A * Bは200を与える |
/ | 分子を分子で除算する | B / Aは2を与える |
% | Modulus演算子と整数除算の後の余り | B%Aは0を返します |
++ | インクリメント演算子、整数値を1増加 | A ++は11を与える |
– | 減算演算子、整数値を1減らす | A–は9を与える |
<html> <head> <title>Arithmetical Operators</title> </head> <body> <?php $a = 42; $b = 20; $c = $a + $b; echo "こたえは: $c <br/>"; $c = $a - $b; echo "こたえは: $c <br/>"; $c = $a * $b; echo "こたえはt: $c <br/>"; $c = $a / $b; echo "こたえは: $c <br/>"; $c = $a % $b; echo "こたえは: $c <br/>"; $c = $a++; echo "こたえは:: $c <br/>"; $c = $a--; echo "こたえは: $c <br/>"; ?> </body> </html>
こたえは以下になります
こたえは: 62 こたえは: 22 こたえは: 840 こたえは: 2.1 こたえは: 2 こたえは: 42 こたえは: 43
比較演算子
PHP言語でサポートされている次の比較演算子があります
たとえばAが10 Bが20の場合
== | 2つのオペランドの値が等しいかどうかをチェックします。そうであれば、conditionがtrueになります。 | (A == B)は真ではありません。 |
!= | 2つのオペランドの値が等しいかどうかをチェックし、値が等しくなければconditionがtrueになります。 | (A!= B)は真です。 |
> | 左オペランドの値が右オペランドの値より大きいかどうかをチェックし、そうであれば、条件が真となります。 | (A> B)は真ではない。 |
< | 左オペランドの値が右オペランドの値より小さいかどうかをチェックし、そうであれば、条件が真となります。 | (A <B)が成り立つ。 |
> = | 左オペランドの値が右オペランドの値以上であるかどうかをチェックし、そうであれば、条件が真となります。 | (A> = B)は真ではない。 |
<= | 左オペランドの値が右オペランドの値以下であるかどうかをチェックし、そうであれば、条件が真となります。 | (A <= B)は真です。 |
<html> <head> <title>Comparison Operators</title> </head> <body> <?php $a = 42; $b = 20; if( $a == $b ) { echo "TEST1 : a と等しい b<br/>"; }else { echo "TEST1 : a is と等しくない b<br/>"; } if( $a > $b ) { echo "TEST2 : a is greater than b<br/>"; }else { echo "TEST2 : a is not greater than b<br/>"; } if( $a < $b ) { echo "TEST3 : a is less than b<br/>"; }else { echo "TEST3 : a is not less than b<br/>"; } if( $a != $b ) { echo "TEST4 : a is not equal to b<br/>"; }else { echo "TEST4 : a is equal to b<br/>"; } if( $a >= $b ) { echo "TEST5 : a is either greater than or equal to b<br/>"; }else { echo "TEST5 : a is neither greater than nor equal to b<br/>"; } if( $a <= $b ) { echo "TEST6 : a is either less than or equal to b<br/>"; }else { echo "TEST6 : a is neither less than nor equal to b<br/>"; } ?> </body> </html>
こうなります
TEST1 : a is と等しくない b
TEST2 : a is greater than b
TEST3 : a is not less than b
TEST4 : a is not equal to b
TEST5 : a is either greater than or equal to b
TEST6 : a is neither less than nor equal to b
論理演算子
PHP言語でサポートされている以下の論理演算子があります
たとえばAが10 Bが20の場合
and | 両方のオペランドが真の場合、conditionはtrueになります。 | (AとB)は真です。 |
or | 2つのオペランドのいずれかが非ゼロである場合、条件は真になります。 | (AまたはB)が真である。 |
&& | 両方のオペランドが非ゼロの場合、conditionはtrueになります。 | (A && B)は真です。 |
|| | 2つのオペランドのいずれかが非ゼロである場合、条件は真になります。 | (A || B)は真です。 |
! | オペランドの論理状態を反転するために使用します。条件が真であれば、論理NOT演算子は偽になります。 | !(A && B)はfalseです。 |
<html> <head> <title>Logical Operators</title> </head> <body> <?php $a = 42; $b = 0; if( $a && $b ) { echo "TEST1 : Both a and b are true<br/>"; }else{ echo "TEST1 : Either a or b is false<br/>"; } if( $a and $b ) { echo "TEST2 : Both a and b are true<br/>"; }else{ echo "TEST2 : Either a or b is false<br/>"; } if( $a || $b ) { echo "TEST3 : Either a or b is true<br/>"; }else{ echo "TEST3 : Both a and b are false<br/>"; } if( $a or $b ) { echo "TEST4 : Either a or b is true<br/>"; }else { echo "TEST4 : Both a and b are false<br/>"; } $a = 10; $b = 20; if( $a ) { echo "TEST5 : a is true <br/>"; }else { echo "TEST5 : a is false<br/>"; } if( $b ) { echo "TEST6 : b is true <br/>"; }else { echo "TEST6 : b is false<br/>"; } if( !$a ) { echo "TEST7 : a is true <br/>"; }else { echo "TEST7 : a is false<br/>"; } if( !$b ) { echo "TEST8 : b is true <br/>"; }else { echo "TEST8 : b is false<br/>"; } ?> </body> </html>
こうなる
TEST1 : Either a or b is false TEST2 : Either a or b is false TEST3 : Either a or b is true TEST4 : Either a or b is true TEST5 : a is true TEST6 : b is true TEST7 : a is false TEST8 : b is false
代入演算子
PHP言語でサポートされている以下の代入演算子があります
= | 単純な代入演算子、右側のオペランドの値を左側のオペランドに代入する | C = A + BはA + Bの値をCに代入する |
+ = | 加算AND演算子、左オペランドに右オペランドを加算して結果を左オペランドに代入 | C + = AはC = C + Aと同じです。 |
– = | 減算AND代入演算子、左オペランドから右オペランドを減算して結果を左オペランドに代入する | C – = AはC = C – Aと同じです |
* = | 乗除算AND演算子、右オペランドに左オペランドを乗算して結果を左オペランドに代入 | C * = AはC = C * Aに等しい |
/ = | 除算AND代入演算子、左オペランドと右オペランドを除算し、結果を左オペランドに代入 | C / = AはC = C / Aに等しい |
%= | モジュラスAND代入演算子、2つのオペランドを使用してモジュラスをとり、その結果を左のオペランドに代入します | C%= AはC = C%Aに等しい |
<html> <head> <title>Assignment Operators</title> </head> <body> <?php $a = 42; $b = 20; $c = $a + $b; /* Assignment operator */ echo "たしざん: $c <br/>"; $c += $a; /* c は現在 42 + 20 = 62 */ echo "Add AND Assigment Operation Result: $c <br/>"; $c -= $a; /* c は現在 42 + 20 + 42 = 104 */ echo "Subtract AND Assignment Operation Result: $c <br/>"; $c *= $a; /* c は現在 104 - 42 = 62 */ echo "Multiply AND Assignment Operation Result: $c <br/>"; $c /= $a; /* c は現在 62 * 42 = 2604 */ echo "Division AND Assignment Operation Result: $c <br/>"; $c %= $a; /* c は現在 2604/42 = 62*/ echo "Modulus AND Assignment Operation Result: $c <br/>"; ?> </body> </html>
こうなる。
Addtion Operation Result: 62 Add AND Assigment Operation Result: 104 Subtract AND Assignment Operation Result: 62 Multiply AND Assignment Operation Result: 2604 Division AND Assignment Operation Result: 62 Modulus AND Assignment Operation Result: 20
条件付き演算子
条件演算子と呼ばれるオペレータがもう1つあります。これは、最初に真または偽の値の式を評価し、真偽を決定します
?: | 条件式 | 条件が真ならば?次に値X:そうでなければ値Y |
<html> <head> <title>Arithmetical Operators</title> </head> <body> <?php $a = 10; $b = 20; $result = ($a > $b ) ? $a :$b; echo "TEST1 : こたえは $result<br/>"; $result = ($a < $b ) ? $a :$b; echo "TEST2 : こたえは $result<br/>"; ?> </body> </html>
こうなる
TEST1 : こたえは 20 TEST2 : こたえは 10
PHP演算子の優先順位
演算子の優先順位は、式の用語のグループ化を決定します。これは、式の評価方法に影響します。
例えば、かけざんはたしざんよりも優先度がたかい
上から高優先度
単項 | !++ – | 右から左 |
乗法 | * /% | 左から右へ |
添加剤 | + – | 左から右へ |
リレーショナル | <=>> = | 左から右へ |
平等 | ==!= | 左から右へ |
論理AND | && | 左から右へ |
論理OR | || | 左から右へ |
条件付き | ?: | 右から左 |
割り当て | = + = – = * = / =%= | 右から左 |
3ヶ月10万円で受講できる転職特化型Ruby実践研修【ポテパンキャンプ】
次のページ⑧PHP演算子の型