PHPのif文で条件分岐!比較・論理演算子の使い方を初心者向けに解説

プログラミングの面白さの一つは、コンピュータに状況判断をさせて、その結果によって処理の流れを変えられる点にあります。「もし時間が朝なら『おはよう』と挨拶し、夜なら『こんばんは』と挨拶する」といった処理は、その典型例です。

このような「もし〜なら、…する」という条件分岐を実現するのが、PHPのif文です。

この記事では、PHPのif文の基本的な使い方から、条件を組み立てるために不可欠な「比較演算子」と「論理演算子」まで、サンプルコードを交えながら分かりやすく解説します。


目次

1. if文の基本的な仕組み

if文は、指定した条件が「正しい(true)」か「間違い(false)」かを判断し、正しかった場合に特定の処理を実行するための構文です。

基本のif

最もシンプルな形は、「もし条件が正しければ、処理を実行する」というものです。

<?php
$age = 20;

// もし、年齢($age)が20以上なら
if ($age >= 20) {
    echo "成人です。";
}

else:条件に合わなかった場合の処理

「もし条件が正しければAを、そうでなければBを実行する」という場合はelseを使います。

<?php
$weather = "雨";

if ($weather === "晴れ") {
    echo "傘は必要ありません。";
} else {
    echo "傘を持って行きましょう。";
}
// 出力: 傘を持って行きましょう。

elseif:さらに多くの条件で分岐する

「もしAなら…、もしBなら…、もしCなら…」のように、複数の条件で分岐させたい場合はelseifを使います。

<?php
// 現在の時刻(0~23)を取得
$current_hour = date('G');

if ($current_hour < 12) {
    echo "おはようございます。";
} elseif ($current_hour < 18) {
    echo "こんにちは。";
} else {
    echo "こんばんは。";
}

このコードは、実行する時間帯によって挨拶が変わります。


2. 条件を作る「比較演算子」

if文の () の中に入る条件式は、「比較演算子」を使って作ります。2つの値を比べて、それが正しいか(true)間違いか(false)を判定します。

演算子名称意味
===等しいとデータ型が両方とも等しい$a === 10
!==等しくないまたはデータ型が等しくない$a !== 10
>より大きい左辺が右辺より大きい$a > 10
<より小さい左辺が右辺より小さい$a < 10
>=以上左辺が右辺以上$a >= 10
<=以下左辺が右辺以下$a <= 10

⚠️ 重要:== ではなく === を使おう PHPには == という演算子もありますが、これはデータ型を無視して値を比較するため、10 == "10"true になるなど、意図しない結果を招くことがあります。バグを防ぐため、値と型の両方を厳密に比較する === を普段から使うことを強く推奨します。

比較演算子がどのようにtruefalseを返すか、var_dump()で見てみましょう。

<?php
$score = 85;

var_dump($score >= 60); // true: 85は60以上なので正しい
echo "<br>";
var_dump($score === 100); // false: 85は100と等しくないので間違い

3. 複雑な条件を作る「論理演算子」

「A かつ B」や「A または B」のように、複数の条件を組み合わせて、より複雑な判定を行いたい場合は「論理演算子」を使います。

演算子読み方意味
&&AND両方の条件がtrueのときだけtrue条件A && 条件B
||ORもしくは(左右のいずれかがtrueの場合、ture)条件A || 条件B
!NOT条件の結果を逆転させる(truefalse!条件A

論理演算子の使用例

例えば、オンラインストアの送料無料キャンペーンを考えてみましょう。「購入金額が5,000円以上、かつ、会員ランクがゴールド」という条件をコードにしてみます。

<?php
$total_price = 6000;
$member_rank = "gold";

if ($total_price >= 5000 && $member_rank === "gold") {
    echo "送料無料です!";
} else {
    echo "送料が必要です。";
}
// 出力: 送料無料です!

mt_rand()と組み合わせてみよう

mt_rand(最小値, 最大値)関数を使うと、指定した範囲のランダムな整数を生成できます。これとif文を組み合わせると、実行するたびに結果が変わる面白いプログラムが作れます。

<?php
// 0から100までのランダムな点数を生成
$test_score = mt_rand(0, 100);
echo "あなたの点数は {$test_score} 点です。<br>";

if ($test_score >= 80) {
    echo "評価S: 素晴らしい成績です!";
} elseif ($test_score >= 60 && $test_score < 80) {
    echo "評価A: 合格です。よく頑張りました。";
} else {
    echo "評価B: もう一息です。";
}

まとめ

今回は、PHPで処理の流れをコントロールするための基本であるif文について学びました。

【ポイントの振り返り】

  • if, elseif, else を使って、条件に応じた処理の分岐ができる。
  • 条件式は 比較演算子 (===, >, <= など)を使って作成する。
  • 論理演算子 (&&, ||)を使うことで、複数の条件を組み合わせられる。

if文は、あらゆるプログラムの根幹をなす非常に重要な構文です。これらの演算子との組み合わせをマスターすれば、あなたのプログラムはより賢く、そして柔軟な動きをするようになるでしょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次