代数演算子
| + | $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 件のコメント:
コメントを投稿