PHP 条件分岐
比較演算子
変数に格納された値を使い、条件式を記述します。
<?php
$num = 20;
if($num > 10){
echo '$numは 10より大きいです。';
}
?>
$numは 10より大きいです。と表示されます。
<?php
$x = 10;
$y = "10";
$z = 20;
// 等しい(==):値が等しいかどうか
if ($x == $y) {
echo "xとyは等しい\n"; // これは表示されます
}
// 厳密に等しい(===):値と型が両方とも等しいかどうか
if ($x === $y) {
echo "xとyは厳密に等しい\n"; // これは表示されません(型が異なるため)
}
// 等しくない(!=)
if ($x != $z) {
echo "xとzは等しくない\n"; // これは表示されます
}
// より大きい(>)
if ($z > $x) {
echo "zはxより大きい\n"; // これは表示されます
}
// 以上(>=)
if ($x >= 10) {
echo "xは10以上\n"; // これは表示されます
}
// より小さい(<)
if ($x < $z) {
echo "xはzより小さい\n"; // これは表示されます
}
?>
注意点:
==
と ===
の違いは重要です。==
は値のみを比較し、===
は値と型の両方を比較します。
- 等しい(==):値が等しいかどうか
- 厳密に等しい(===):値と型が両方とも等しいかどうか
- 等しくない(!=)
- より大きい(>)
- 以上(>=)
- より小さい(<)
論理演算子
論理演算子を使うと、複数の条件を組み合わせられます。
$num が 10より大きく、20より小さい場合といった複雑な条件式を記述できます。
<?php
$num = 12;
if($num > 10 && $num < 20){
echo '$num が 10より大きく、20より小さいです。';
}
?>
<?php
$年齢 = 25;
$会員 = true;
if ($年齢 >= 18 && $会員) {
echo "成人会員です\n"; // これは表示されます
}
?>
複数の条件を組み合わせる場合は、論理演算子(&&
:かつ、||
:または)を使用します。
PHPの主な論理演算子は以下の通りです:
- AND(&&):両方の条件が真の場合に真
- OR(||):少なくとも1つの条件が真の場合に真
- NOT(!):条件の結果を反転
- XOR:2つの条件のうち、どちらか一方のみが真の場合に真
<?php
$年齢 = 25;
$会員 = true;
$学生 = false;
// AND演算子(&&)
if ($年齢 >= 18 && $会員) {
echo "成人会員です\n"; // これは表示されます
}
// OR演算子(||)
if ($学生 || $年齢 < 18) {
echo "割引対象です\n"; // これは表示されません
}
// NOT演算子(!)
if (!$学生) {
echo "学生ではありません\n"; // これは表示されます
}
// XOR演算子
if ($会員 xor $学生) {
echo "会員または学生のどちらか一方です\n"; // これは表示されます
}
// 複数の条件の組み合わせ
if (($年齢 >= 18 && $会員) || $学生) {
echo "サービスを利用できます\n"; // これは表示されます
}
?>