代数演算子
+ | $x + $y | $xと$yの和 |
- | $x - $y | $xと$yの差 |
* | $x * $y | $xと$yの積 |
/ | $x / $y | $xと$yの商 |
% | $x % $y | $xと$yで割った余り |
++ | $x++ | $xの値に1を足した後$xを返す |
++ | ++$x | $xを返した後に$xの値に1を足す |
-- | $x-- | $xの値に1を引いた後$xを返す |
-- | --$x | $xを返した後に$xの値に1を引く |
代入演算子
= | $x = 10 | $xに10を代入する |
+= | $x += 10 | $x = $x + 10と同じ |
-= | $x -= 10 | $x = $x - 10と同じ |
*= | $x *= 10 | $x = $x * 10と同じ |
/= | $x /= 10 | $x = $x / 10と同じ |
%= | $x %= 10 | $x = $x % 10と同じ |
.= | $x .= 'A' | $x = $x . 'A'と同じ |
比較演算子
== | $x == $y | $xと$yが等しい場合にTRUEを返す |
=== | $x === $y | $xと$yが等しく、かつ同じデータ型の場合にTRUEを返す |
!= | $x != $y | $xと$yが等しくない場合にTRUEを返す |
!== | $x !== $y | $xと$yが等しくなく、または同じデータ型でない場合にTRUEを返す |
< | $x < 10 | $xが10より小さい場合にTRUEを返す |
> | $x > 10 | $xが10より大きい場合にTRUEを返す |
<= | $x <= 10 | $xが10以下の場合にTRUEを返す |
>= | $x >= 10 | $xが10以上の場合にTRUEを返す |
? | $x > 10 ? 'OK' : 'NG' | (条件式)?(式1):(式2) 条件式がTRUEの場合は式1をFALSEの場合は式2を返す |
「==」は型変換を行って値が等しいかどうかをチェックします。
「===」は型変換を行わないので「==」で比較するよりパフォーマンスに優れます。
下の例だと「==」は文字列である$xが 数値に変換され、 数値としての比較を行います。
<?php $x = '10'; $y = 10; print( ($x == $y) ? 'TRUE' : 'FALSE'); //TRUEが出力される print(''); print( ($x === $y) ? 'TRUE' : 'FALSE'); //FALSEが出力される ?>
論理演算子
&& | $x == 10 && $y == 10 | $xと$yがともにTRUEの場合にTRUEを返す |
|| | $x == 10 || $y == 10 | $xまたは$yのいずれかがTRUEの場合TRUEを返す |
xor | $x == 10 xor $y == 10 | $xか$yかの どちらかがTRUEで、$xと$yがどちらもTRUEでない場合にTRUEを返す |
! | !$flag | $flagがTRUEでない場合TRUEを返す |
その他の演算子
. | 'aaa'.$memo | 文字列連結。 |
@ | @print(1/0) | 式の先頭に指定することでエラーメッセージを非表示にする |
「@」演算子はエラー制御演算子ともいい、式の前に付けた場合、 その式により生成されたエラーメッセージは無視されます。
以下の例だと0で除算すると「Warning: Division by zero in xxx.php on line X」とエラーが発生します。
<?php print(1/0); ?>しかしprint命令の先頭に「@」をつけるとエラーメッセージが抑制され表示されなくなります。
<?php @print(1/0); ?>
0 件のコメント:
コメントを投稿