式と演算子
演算子
算術演算子で「四則演算」や「変数の結合」
<?php $tanka = 300; $suryo = 10; $waribiki = 500; $total = $tanka * $suryo - $waribiki; echo $total;
文字列結合演算子
- 「. ドット」で文字列を連結する(ドットシンタックス)
<?php $tanka = 300; $suryo = 10; $waribiki = 500; $total = $tanka * $suryo - $waribiki; echo '合計金額は、' . $total . '円です。'; ?>
結合代入演算子
- 変数の後に新たな文字列を継ぎ足しできる演算子
<?php $temp = '鈴木さん、'; $temp = $temp . 'こんにちは。'; $temp = $temp . '今日は月曜日です。'; echo $temp;
「結合代入演算子」を使って書き換えます。
<?php $temp = '山本さん、'; $temp .= 'こんにちは。'; $temp .= '今日は月曜日です。'; echo $temp;
演算子の種類
記号 | 名前 | 記号 | 名前 |
---|---|---|---|
+ | 加算 | == | 等価 |
- | 減算 | === | 等価 |
* | 乗算 | != | 非等価 |
/ | 除算 | <> | 非等価 |
% | 剰余 | !=== | 非等価 |
+ | 単項+ | ! | 論理否定 |
- | 単項- | && | 論理積 |
~ | 補数 | || | 論理和 |
& | ビット論理積 | and | 論理積 |
| | ビット論理和 | or | 論理和 |
^ | ビット排他的論理和 | xor | 排他的論理和 |
= | 代入 | , | 順次 |
<< | 左シフト | () | 関数呼び出し |
>> | 右シフト | () | キャスト |
++ | インクリメント | [] | 配列添え字 |
-- | デクリメント | @ | エラー制御 |
> | より大きい | -> | メンバ参照 |
>= | 以上 | ? : | 条件 |
< | 未満 | new | オブジェクト作成 |
<= | 以下 | instanceof | オブジェクトのクラス |
インクリメント・デクリメント
- 「++」演算子は、インクリメント演算子(increment operator)と呼ばれます
- 「--」演算子は、デクリメント演算子(decrement operator)と呼ばれます
- 何らかの処理を1つずつ値を増やしたり減らしたりの繰り返しを1回ずつカウントするために用いられます
変数$aの値を1増やします
<?php $a++;
値を1増やす演算は、このようにも書けます
<?php $a = $a + 1;
変数$aの値を1減らします
<?php $a--;
値を1減らす演算は、このようにも書けます
<?php $a = $a - 1;
代入演算子(assignment operator)
- 左辺の変数に右辺の値を代入する
記号 | 名前 |
---|---|
+= | 加算代入 |
-= | 減算代入 |
*= | 乗算代入 |
/= | 除算代入 |
%= | 剰余代入 |
$= | 論理積代入 |
^= | 排他的 |
|= | 論理和代入 |
<<= | 左シフト代入 |
>>= | 右シフト代入 |
$a+$bの値を$aに代入
<?php $a += $b;
演算子の優先順位
- 通常の四則演算と同じです。
- カッコ内が先に評価されます。
左結合(left associative)
<?php ($a + $b) + 1
右結合(right associative)
<?php $a = ($b = 1)
《例》
<?php // 演算子 // 代入演算子 = $x = 5; // 数値に関するもの + - * / % // echo (10 % 3) * 5; // 文字列の連結演算子 . echo 'hello ' . 'world'; // 単項演算子 ++ -- $x++; // $x = $x + 1 ++$x; // 代入を伴う演算子 $x += 5; // $x = $x + 5; $x *= 5; // $x = $x * 5;
文字列の連結
- 「ドット」は、文字列連結演算子と呼びます。
- 変数を連結するだけの場合は、{ }は不要です。