【初心者向け】PHPのif文・else文の使い方|サンプルコード付き解説

目次

はじめに:if文って何?

PHPでプログラムを書いていると、
「もし○○だったら、この処理をしたい」
という場面は必ず出てきます。

たとえば、

  • テストの点数が70点以上なら「合格」、それ未満なら「不合格」
  • 会員ログイン済みならマイページを表示、それ以外はログイン画面を表示

こういった「条件によって動きを変える仕組み」if文(条件分岐) です。

if文の基本構文

PHPのif文は次のような形で書きます。

if (条件式) {
条件がtrueのときに実行する処理;
}

  • 条件式
    () の中に条件を書きます。この条件が「true(真)」の場合だけ { } の中が実行されます。
  • true / false
    条件式の結果が真(true)か偽(false)かで処理が分岐します。
  • { }(波かっこ)
    実行する処理を囲む部分です。処理が1行だけの場合は省略できますが、初心者は付けたほうが安全です。

基本例:点数による合否判定

<?php
  $score = 80; // テストの点数を変数に代入

  if ($score >= 70) { // 70点以上かどうかを判定
      echo "合格です!"; // 条件がtrueなら実行
  }
?>

出力例

合格です!

コードの意味

  1. $score = 80; で変数 $score に 80 を代入
  2. if ($score >= 70) で「80が70以上か?」をチェック
  3. 条件がtrue(80 >= 70)なので { } 内の echo "合格です!"; が実行
  4. 画面に「合格です!」と表示

else文で「条件がfalseのとき」を書く

else を使うと、「if文の条件がfalseだった場合の処理」を書けます。

<?php
  $score = 65;

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

出力

不合格です。

ポイント

  • else の前には条件式を書きません
  • if文の条件がfalseのとき、自動的に else の処理が実行されます

elseif文で条件を追加する

条件が2つ以上ある場合は elseif を使います。

<?php
  $score = 85;

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

出力例

合格です!

処理の流れ

  1. $score >= 90 → false(85は90未満)
  2. $score >= 70 → true(85は70以上)
  3. 「合格です!」を表示して終了

比較演算子と論理演算子の基礎

if文は 比較演算子論理演算子 と組み合わせて使うのが基本です。

演算子意味結果
==等しい$x == 10$xが10ならtrue
!=等しくない$x != 5$xが5でなければtrue
>より大きい$x > 3$xが3より大きければtrue
<より小さい$x < 8$xが8より小さければtrue
>=以上$x >= 7$xが7以上ならtrue
<=以下$x <= 7$xが7以下ならtrue
&&かつ(AND)$x > 5 && $y < 10両方trueならtrue
||または(OR)$x > 5 || $y < 10どちらかがtrueならtrue

AND条件の例(年齢と会員ステータス)

<?php
  $age = 25;
  $isMember = true;

  if ($age >= 20 && $isMember) {
      echo "会員として利用可能です。";
  }
?>

OR条件の例(セール適用条件)

<?php
  $coupon = true;
  $isVIP = false;

  if ($coupon || $isVIP) {
      echo "割引が適用されます。";
  }
?>

ネスト(入れ子)ifと可読性の注意

if文を入れ子にすると、条件が複雑になります。

<?php
  $age = 25;
  $isMember = true;

  if ($age >= 20) {
      if ($isMember) {
          echo "成人会員です。";
      }
  }
?>

可読性を保つには 論理演算子 を使って1行で書くほうが良いです。

<?php
  if ($age >= 20 && $isMember) {
      echo "成人会員です。";
  }
?>
カラさん

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

よくあるミスと注意点

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

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をコピーしました!

この記事を書いた人

神奈川県出身
どこにでもいる現役ゲーム会社サーバーエンジニア。大学ではひたすらゲーム!ゲーム!という人生を送ってました。

このブログは「ゲームを作ってみたい!」「プログラミングに関する知識をつけたい!」そんな皆さんの少しでもお役になれば嬉しいなと思い開設しました。

趣味
YouTube鑑賞、ストリートな格闘ゲーム、キャンプ

最近の出来事
・痔主になってしまいました....
・Google Cloud Professional Cloud Architect取得しました。

コメント

コメントする

目次