PHPの分岐処理は他の多くの言語と同様に if で表記します。
ソースコード
$a = 10;
$b = 20;
if ($a > $b) {
print "\$aは\$bより大きい";
} else {
print "\$aは\$bより小さい、または、\$aと\$bは等しい";
}
出力結果
$aは$bより小さい、または、$aと$bは等しい
また、elseif として別の条件を書くことも出来ます。
ソースコード
$a = 10;
$b = 20;
if ($a > $b) {
print "\$aは\$bより大きい";
} elseif ($a == $b) {
print "\$aと\$bは等しい";
} else {
print "\$aは\$bより小さい";
}
出力結果
$aは$bより小さい
比較演算子
上記例の > や = などのように2つの値を比較するときに用いられる比較演算子には以下のような種類があります。
| == |
・・・ |
右辺と左辺が等しい場合はTrue |
| === |
・・・ |
右辺と左辺が等しく、かつ型が同じ場合はTrue |
| != |
・・・ |
右辺と左辺が等しくない場合はTrue |
| !== |
・・・ |
右辺と左辺が等しくない、または型が違う場合はTrue |
| < |
・・・ |
右辺が左辺より大きい場合はTrue |
| <= |
・・・ |
右辺が左辺より大きい、または等しい場合はTrue |
| > |
・・・ |
左辺が右辺より大きい場合はTrue |
| >= |
・・・ |
左辺が右辺より大きい、または等しい場合はTrue |
ソースコード
// == と === の違い
$a = 10;
$b = "10";
if ($a == $b) {
print "\$aと\$bは等しい(型は問わない)<br>";
} else {
print "\$aと\$bは等しくない(型は問わない)<br>";
}
if ($a === $b) {
print "\$aと\$bは等しい(型も含めて)<br>";
} else {
print "\$aと\$bは等しくない(型も含めて)<br>";
}
出力結果
$aと$bは等しい(型は問わない)
$aと$bは等しくない(型も含めて)
論理演算子
論理演算子には以下のような種類があります。
| and |
・・・ |
右側と左側がともにTrueの場合はTrue(論理積) |
| && |
・・・ |
右側と左側がともにTrueの場合はTrue(論理積) |
| or |
・・・ |
右側か左側のどちらかがTrueの場合はTrue(論理和) |
| || |
・・・ |
右側か左側のどちらかがTrueの場合はTrue(論理和) |
| xor |
・・・ |
右側と左側のどちらか一方だけがTrueの場合はTrue(排他的論理和) |
| ! |
・・・ |
右側がFalseの場合はTrue(否定) |
論理演算子を使うと次のような書き方も出来ます。
ソースコード
$a = 10;
$a < 5 || print "\$aは5以上の値です。<br>";
出力結果
$aは5以上の値です。
これはPerlでもよく使われる方法ですが、論理和は左側がTrueであれば右側は評価されず次の命令が実行されます。
上の例では $a < 5 がFalseとなるので右側のprint文が実行されます。
$a に1などを入れると $a < 5 がTrueとなるので右側のprint文は実行されません。 |