【PHP】if else構文を初心者向けにわかりやすく実例で解説

目次

はじめに|PHPの「条件分岐」はどんなときに使うの?

PHPでは「○○なら〜する、それ以外なら〜する」という処理を書くのにif文(条件分岐)を使います。
たとえば:

  • ユーザーがログインしているかどうかで表示内容を変える
  • 数字の大小で結果を分ける
  • 入力内容によって動作を変える

このような「状況に応じた処理」は、if・else文の基本構文をマスターすることで可能になります。

ステップ①|if文の基本構文

if文は、「もし〇〇なら〜をする」という指示を出す文です。

<?php
$score = 80;

if ($score >= 70) {
    echo "合格です!";
}
?>

この例では、$score が70以上なら「合格です!」と表示されます。
つまり「もし(if)条件が真(true)ならこの中を実行するよ」という仕組みです。

条件を満たさない場合は何も表示されません

ステップ②|if 〜 else文で分岐させよう

条件を満たさないときの処理を追加したいときは、elseを使います。

<?php
$score = 65;

if ($score >= 70) {
    echo "合格です!";
} else {
    echo "残念、不合格です。";
}
?>

ここでは $score が70未満なので else 側が実行されます。
if → 成功時の処理
else → それ以外のときの処理
という基本パターンですね。

ステップ③|elseifで条件を増やす

複数の条件をチェックしたいときは、elseifを使います。

<?php
$score = 85;

if ($score >= 90) {
    echo "優秀です!";
} elseif ($score >= 70) {
    echo "合格です!";
} else {
    echo "残念、不合格です。";
}
?>

このように elseif を使うことで、複数の条件を順番に判定することができます。

ここでは$score が90未満70以上なので elseif 側が実行されます。

それより下のelseは70未満で実行されるので残念、不合格です。は表示されません

ステップ④|ifの中にifを書く(入れ子構造)

<?php
$score = 85;
$subject = "国語";

if ($subject === "国語") {
    if ($score >= 80) {
        echo "国語は優秀です!";
    }
}
?>

このように、ifの中にもうひとつifを書くことも可能です。
条件をさらに細かく分けたいときに使います(ただし複雑になりすぎないよう注意)。

カラさん

私は
if ($subject === “国語”) {
if ($score >= 80) {
if (……) {
はやらないように大体2構造までに意識してます!

ステップ⑤|条件の書き方いろいろ

書き方説明
==値が等しいか
===型(intやstring)含めて値が等しいか
!=値が等しくないか
>値より大きいか
<値より小さいか
>= / <=値以上 / 値以下
&&AND(両方が真)
`

例:70点以上で教科が数学なら「数学合格!」と表示する

if ($score >= 70 && $subject == "数学") {
    echo "数学合格!";
}

よくあるミスと注意点

❌ セミコロンをつけてしまう

if ($score >= 70); // ← セミコロンがあると動かない
    echo "合格です!";

=== の混同

if ($score = 70) // ← これは代入になるので注意

練習問題|書いてみよう!

練習問題①:20歳以上なら「おとな」、それ以外は「こども」と表示させてみよう!

<?php
$age = 20;
// ここにif文を記述
?>
答え
if ($age >= 20) {
    echo "おとな";
}else{
    echo "こども";
}

練習問題②:偶数か奇数かを判定しよう!

変数 $number に数値が入っています。
その数が 偶数 なら「偶数です」、奇数なら「奇数です」と表示するコードを作りましょう。

<?php
$number = 7;

// ここにif文を書いてください
?>

🟢 ヒント:
偶数とは「2で割ったときにあまりが0になる数」です。
PHPでは %(剰余演算子)を使って、あまりを計算できます。

答え
if ($number % 2 === 0) {
  echo "偶数です";
}else{
   echo "奇数です";
}

練習問題③ : 年齢に応じて料金を表示しよう!

変数 $age に年齢が入っています。年齢に応じて料金を表示するようにしてください。

  • 0歳〜5歳:無料
  • 6歳〜12歳:500円
  • 13歳以上:1000円
<?php
$age = 10;

// ここにif / elseif / else を使って料金を表示するコードを書こう
?>

🟢 ヒント:
年齢の範囲を>=<=でチェックしましょう。範囲の上から順にチェックすると簡単です。

答え
<?php
$age = 10;
if ($age >= 0 && $age <= 5) {
     echo "無料です";
 } elseif ($age >= 6 && $age <= 12) {
     echo "料金は500円です";
 } else { 
     echo "料金は1000円です";
 }
 ?>


📝 解説:

・&& は「かつ」という意味の論理演算子。

・if → elseif → else の順で、条件に合うものだけが実行されます。

・年齢の範囲に応じて条件を正しく分岐させましょう。

おわりに|if文を覚えればPHPがぐっと自由に!

PHPのif文は「条件が合ったときだけ動かす」処理をする大切な構文です。
ログイン判定、点数評価、フォーム入力判定など、あらゆるWebアプリの中で使われます

次回は「switch文との違い」「三項演算子」など、条件分岐をさらに深掘りしていきましょう!

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

この記事を書いた人

スマホ系ゲーム会社現役サーバーエンジニア

Google Cloud Professional Cloud Architect取得済み

趣味:キャンプ、格闘ゲーム、動画視聴

コメント

コメントする

目次