PHP で一般的に使用される演算子には、算術演算子、代入演算子、比較演算子、論理演算子などが含まれます。友達に使い方を紹介しましょう。
除算演算子は常に浮動小数点数を返します。唯一の例外は、両方のオペランドが整数 (または文字列から変換された整数) で、正確に割り切れる場合であり、その場合は整数を返します。
モジュロ演算子のオペランドは、演算前に整数 (小数部を除く) に変換されます。
注: $a が負の場合のモジュロ $a % $b の結果も負になります。
例:
コードは次のとおりです | コードをコピー |
/* i386 と amd64、Debian lenny/sid の両方で、Suhosin-Patch 0.9.6.2 (cli) を使用した PHP 5.2.6-1 でテスト済み */ |
オペレーター | 手順 | 例 | 結果 |
---|---|---|---|
+ | 追加 | x=2 x+2 |
4 |
- | 引き算 | x=2 5-x |
3 |
* | 掛け算 | x=4 ×*5 |
20 |
/ | 部門 | 5/15 5/2 |
3 2.5 |
% | モジュラス(除算剰余) | 5%2 10%8 10%2 |
1 2 0 |
++ | 増分 | x=5 x++ |
x=6 |
--- | 減少 | x=5 ×-- |
x=4 |
代入演算子
基本的な代入演算子は「=」です。最初は「等しい」と思うかもしれませんが、そうではありません。これは実際には、右側の式の値を左側のオペランドに代入することを意味します。
代入演算式の値が代入された値になります。つまり、「$a = 3」の値は 3 になります。ここにいくつかのヒントがあります:
コードは次のとおりです | コードをコピー |
$a = ($b = 4) + 5; // $a は 9 になり、$b は 4 になります。 ?> |
コードをコピー | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$a = 3;
$a += 5; // 次のように $a を 8 に設定します: $a = $a + 5;
|
オペレーター | 手順 | 例 |
---|---|---|
= | x=y | x=y |
+= | x+=y | x=x+y |
-= | x-=y | x=x-y |
*= | x*=y | x=x*y |
/= | x/=y | x=x/y |
.= | x.=y | x=x.y |
%= | x%=y | x=x%y |
比較演算子
比較演算子は、その名前が示すように、2 つの値を比較できます。整数と文字列を比較すると、文字列は整数に変換されます。 2 つの数値文字列を比較する場合は、整数として比較します。このルールは switch ステートメントにも適用されます。
コードは次のとおりです | コードをコピー |
var_dump(0 == "a"); // 0 == 0 ->
var_dump("1" == "01"); // 1 == 1 ->
var_dump("1" == "1e0"); // 1 == 1 ->
スイッチ (「a」) { |
例 | == | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
に等しい | 5==8 は false を返します!= | ||||||||||||||||
5!=8 は true を返します | > | ||||||||||||||||
より大きい | 5>8 は false を返します|||||||||||||||||
より小さいです | 5>= | ||||||||||||||||
以上です | 5>=8 は false を返します|||||||||||||||||
以下です | 5
コードは次のとおりです | コードをコピー |
// 次の foo() は、オペレーターによって「短絡」されているため、呼び出されません。 // 「||」は「or」よりも優先されます // 「&&」は「and」よりも優先されます ブール(真) |
オペレーター | 手順 | 例 |
---|---|---|
&& | と | x=6 y=3 (x 1) は true を返します |
|| | か | x=6 y=3 (x==5 || y==5) は false を返します |
! | 違います | x=6 y=3 !(x==y) は true を返します |