PHPでは足し算や引き算を意味する「+(プラス)」や「-(マイナス)」を「算術演算子」、変数に代入する「=(イコール)」を「代入演算子」と呼びます。
| 演算子 | 意味 | 記述例 | 演算子の説明 |
|---|---|---|---|
| + | 加算 | 10 + 4 | 10に4を足す足し算 |
| - | 減算 | 10 - 4 | 10から4を引く引き算 |
| * | 乗算 | 10 * 4 | 10に4を掛ける掛け算 |
| / | 除算 | 10 / 4 | 10を4で割る割り算 |
| % | 剰余算 | 10 % 4 | 10を4で割った余りを求める剰余算 |
| = | 値を代入 | $num = 10+4 | 10と4を足し変数$numに代入 |
<?php
$num = 10 + 4; // 加算
echo "$num<br />n";
$num = 10 - 4; // 減算
echo "$num<br />n";
$num = 10 * 4; // 乗算
echo "$num<br />n";
$num = 10 / 4; // 除算
echo "$num<br />n";
$num = 10 % 4; // 剰余算
echo "$num<br />n";
?>
14 6 40 2.5 2
前述の各スクリプトそれぞれの結果が出力されています。
PHPでは足し算や引き算を意味する「+(プラス)」や「-(マイナス)」を「算術演算子」、変数に代入する「=(イコール)」を「代入演算子」と呼びます。
その場合に使用する「>(大なり)」、「<(小なり)」の記号を「比較演算子」と呼びます。
| 演算子 | 意味 | 記述例 | 演算子の説明 |
|---|---|---|---|
| == | 等しい | $z == 5 | $zと5は等しい |
| > | より大きい | $z > 5 | $zは5より大きい |
| < | より小さい | $z < 5 | $zは5より小さい |
| <= | 小さいないし等しい | $z <= 5 | $zは5より小さいないし等しい |
| >= | 大きいないし等しい | $z >= 5 | $zは5より大きいないし等しい |
| != | 等しくない | $z != 5 | $zと5は等しくない |
| <> | 等しくない | $z <> 5 | $zと5は等しくない |
<?php
$z = 5;
if ( $z == 5 )
echo "$zと5は等しい<br />n"; // 「」はエスケープ文字です。
$z = 3;
if ( $z < 5 )
echo "$zは5より小さい<br />n";
$z = 10;
if ( $z > 5 )
echo "$zは5より大きい<br />n";
$z = 3;
if ( $z <= 5 )
echo "$zは5より小さいないし等しい<br />n";
$z = 5;
if ( $z >= 5 )
echo "$zは5より小さいないし等しい<br />n";
$z = 5;
if ( $z >= 5 )
echo "$zは5より大きいないし等しい<br />n";
$z = 10;
if ( $z >= 5 )
echo "$zは5より大きいないし等しい<br />n";
$z = 10;
if ( $z != 5 )
echo "$zは5と等しくない<br />n";
>
$zと5は等しい $zは5より小さい $zは5より大きい $zは5より小さいないし等しい $zは5より小さいないし等しい $zは5より大きいないし等しい $zは5より大きいないし等しい $zは5と等しくない
それぞれの比較演算子での実行結果が出ています。ここで、注目することは比較演算子の条件を満たしたものが出力されるということです。
例えば、「if ( $z != 5 )」では$zは5と等しくないことを条件にしているので、もしここで「$z = 10;」を「$z = 5;」とすると「if ( $z != 5 )」の等しくないという条件を満たさなくなるので、「$zは5と等しくない」という出力はされなくなります。
注)「¥」はエスケープ文字と呼ばれるもので、ここではechoの中の$zが変数になってしまわないようにエスケープ文字の「¥」を使用しています。
PHPでは、条件とする式を結合することができます。その場合は、条件とする式の間に「and」や「or」の記号を使用します。この記号を「論理演算子」と呼びます。
論理積と論理和に関しては演算子が2つあります。意味としては同じなのですが、演算子の優先の順位が違います。
例えば、同じ条件式を書いた場合 &&と||が優先されます。
| 演算子 | 意味 | 記述例 | 演算子の説明 |
|---|---|---|---|
| && | 論理積 | $z && $y | $zと$yの両方が成り立つ時 |
| || | 論理和 | $z || $y | $zと$yの片方または両方が成り立つとき |
| and | 論理積 | $z and $y | $zと$yの両方が成り立つとき |
| or | 論理和 | $z or $y | $zと$yの片方または両方が成り立つとき |
| xor | 排他的論理和 | $z xor $y | $zと$yの片方が成り立ち、両方が成り立たないとき |
| ! | 否定 | !$z | $zが成り立たないとき |
<?php
$a = 5;
$b = 6;
$c = 7;
if ( $a == 5 and $b == 6 and $c == 7 )
echo "3つの条件はすべて成り立ちます。<br />n";
?>
3つの条件はすべて成り立ちます。
前述のスクリプトは「($a == 5 and $b == 6 and $c == 7)」が成り立つときのみ「3つの条件はすべて成り立ちます。」が出力されるスクリプトとなっています。