カテゴリ: PHP 更新日: 2026/04/13

PHPのif文の使い方を完全ガイド!初心者でもわかる条件分岐の基本

PHPの条件分岐(if文)の書き方!elseやelseifを使った分岐の基本
PHPの条件分岐(if文)の書き方!elseやelseifを使った分岐の基本

先生と生徒の会話形式で理解しよう

生徒

「PHPで条件によって分岐する方法ってありますか?」

先生

「PHPでは、if文を使って、簡単に条件分岐することができます。」

生徒

「具体的にはどのように使うんですか?」

先生

「それでは、基本的な使い方を見ていきましょう!」

1. if文とは?

1. if文とは?
1. if文とは?

PHPのif文は、条件によって処理を分岐させるための基本的な構文です。プログラムは上から順番に実行されますが、if文を使うことで、ある条件が満たされた場合だけ特定の処理を実行することができます。このような仕組みを条件分岐と呼びます。

例えば、テストの点数によって合格か不合格を判断したり、ログイン状態によって表示内容を変えるなど、実際のWeb開発でも非常によく使われます。初心者の方は、まず条件が正しいかどうかで処理が分かれるというイメージを持つことが大切です。

2. if文の基本的な書き方

2. if文の基本的な書き方
2. if文の基本的な書き方

if文の基本構文はとてもシンプルです。条件がtrueの場合のみ中の処理が実行されます。trueとは条件が正しい状態、falseとは条件が間違っている状態のことです。


$score = 80;

if ($score >= 60){
  echo '合格です';
}

このコードでは、点数が60以上なら合格と表示されます。条件式には比較演算子と呼ばれる記号を使います。例えば、以上は>=、以下は<=、等しいは==で表します。

3. elseを使った分岐

3. elseを使った分岐
3. elseを使った分岐

if文だけでは、条件が成立しない場合の処理を書くことができません。そこで使うのがelseです。elseを使うことで、条件がfalseのときの処理を指定できます。


$score = 50;

if ($score >= 60){
  echo '合格です';
} else {
  echo '不合格です';
}

このように書くことで、合格と不合格の両方のケースに対応できます。日常生活で考えると、もし雨なら傘を持つ、そうでなければ持たない、といった判断と同じです。

4. elseifで複数条件を扱う

4. elseifで複数条件を扱う
4. elseifで複数条件を扱う

複数の条件を順番にチェックしたい場合はelseifを使います。これにより、より細かい条件分岐が可能になります。


$score = 75;

if ($score >= 80){
  echo 'とても良い成績です';
} elseif ($score >= 60){
  echo '合格です';
} else {
  echo '不合格です';
}

このコードでは、まず80以上かどうかを確認し、それに当てはまらなければ60以上かどうかをチェックします。このように上から順番に条件が評価される点が重要です。

5. 比較演算子とは?

5. 比較演算子とは?
5. 比較演算子とは?

if文で使われる条件式には比較演算子が使われます。これは値と値を比較するための記号です。初心者の方はここでつまずきやすいので、しっかり覚えておきましょう。

主な比較演算子には、等しいを表す==、異なるを表す!=、大きいを表す>、小さいを表す<などがあります。これらを使って条件を作ります。


$a = 10;
$b = 20;

if ($a < $b){
  echo 'aはbより小さい';
}

このように、条件が成立すれば処理が実行されます。条件式はプログラムの判断基準になる大切な部分です。

6. 論理演算子で条件を組み合わせる

6. 論理演算子で条件を組み合わせる
6. 論理演算子で条件を組み合わせる

複数の条件を同時にチェックしたい場合は論理演算子を使います。代表的なものにANDとORがあります。ANDはすべての条件が正しい場合、ORはいずれかが正しい場合にtrueになります。


$age = 20;
$member = true;

if ($age >= 18 && $member == true){
  echo '入場できます';
}

この例では、年齢が18歳以上かつ会員である場合のみ入場できます。複雑な条件でも組み合わせることで柔軟に対応できます。

7. ネストされたif文

7. ネストされたif文
7. ネストされたif文

if文の中にさらにif文を書くことをネストと呼びます。条件の中でさらに条件をチェックしたい場合に使います。


$score = 85;

if ($score >= 60){
  if ($score >= 80){
    echo '優秀です';
  } else {
    echo '合格です';
  }
} else {
  echo '不合格です';
}

このように書くことで、より細かい条件分岐が可能になります。ただし、ネストが深くなりすぎると読みにくくなるため、注意が必要です。

8. 初心者がよく間違えるポイント

8. 初心者がよく間違えるポイント
8. 初心者がよく間違えるポイント

if文でよくある間違いとして、イコールの使い方があります。代入は=、比較は==なので、混同しないようにしましょう。また、条件式のカッコの閉じ忘れもよくあるミスです。

さらに、条件の順番にも注意が必要です。上から順番に評価されるため、広い条件を先に書くと、後ろの条件が実行されないことがあります。

初心者の方は、まずシンプルな条件から書いて動作を確認することが大切です。少しずつ複雑な条件に挑戦していきましょう。

まとめ

まとめ
まとめ

if文の基本と条件分岐の重要ポイント

今回は、PHPのif文を中心に、条件分岐の基本から応用までを丁寧に解説してきました。PHPのif文は、プログラムの流れをコントロールするための非常に重要な構文であり、Web開発やシステム開発において必ずと言っていいほど使われる基本機能です。条件分岐を理解することで、ユーザーの入力や状況に応じて処理を変える柔軟なプログラムを作成できるようになります。

まず、if文は条件式がtrueの場合にのみ処理を実行するというシンプルな仕組みでした。この基本を理解することが、すべての条件分岐のスタート地点になります。さらに、elseを使うことで条件がfalseのときの処理を明確に記述でき、より実用的なプログラムを構築することが可能になります。

elseifと複数条件の活用方法

elseifを使うことで、複数の条件を順番に評価することができるようになりました。例えば、点数によって評価を変えるような場面では、elseifを使うことで分かりやすく条件分岐を書くことができます。ここで重要なのは、条件が上から順番に評価されるという点です。この順番を間違えると、意図した結果にならない可能性があるため、初心者の方は特に注意が必要です。

比較演算子と論理演算子の理解

条件式を書くためには、比較演算子と論理演算子の理解が欠かせません。比較演算子を使うことで、値と値を比較し、条件を作ることができます。また、論理演算子を使えば複数の条件を組み合わせることができ、より複雑な判定も可能になります。特にANDやORの使い分けは、実務でも非常によく使われるため、しっかりと身につけておくことが大切です。

ネストされたif文と注意点

if文の中にさらにif文を書くネスト構造を使うことで、より細かい条件分岐が実現できます。ただし、ネストが深くなりすぎるとコードが読みにくくなり、バグの原因にもなりやすくなります。そのため、できるだけシンプルな構造を意識し、必要に応じてelseifで整理することが重要です。

初心者が意識すべきポイント

PHPのif文で初心者がよくつまずくポイントとして、代入演算子と比較演算子の違いがあります。イコールが一つのものは代入であり、二つのものは比較です。この違いを理解していないと、意図しない動作になることがあります。また、カッコの閉じ忘れやセミコロンの付け忘れも多いミスの一つです。

実践的なサンプルプログラム

最後に、これまで学んだ内容を組み合わせた実践的なサンプルを確認してみましょう。条件分岐の基本から応用までを一つのプログラムにまとめています。


$score = 70;
$member = true;

if ($score >= 80){
  echo '評価はとても良いです';
} elseif ($score >= 60){
  if ($member == true){
    echo '合格です 会員特典があります';
  } else {
    echo '合格です';
  }
} else {
  echo '不合格です';
}

実行結果は以下のようになります。


合格です 会員特典があります

このように、if文とelseif、さらにネストや論理条件を組み合わせることで、現実の状況に近い複雑な条件分岐を実現することができます。PHPの条件分岐はWebアプリケーション開発の基礎であり、ログイン処理や権限管理、入力チェックなど様々な場面で活用されます。

先生と生徒の振り返り会話

生徒

PHPのif文って、条件によって処理を変えるためのものなんですね。

先生

その通りです。条件分岐はプログラミングの基本なので、しっかり理解しておくことが大切です。

生徒

elseを使うと、条件が違う場合の処理も書けるのが便利ですね。

先生

はい。さらにelseifを使えば、複数の条件を順番にチェックすることもできます。

生徒

条件の順番が大事というのも印象的でした。

先生

上から順番に評価されるので、書き方によって結果が変わることがあります。そこは注意しましょう。

生徒

論理演算子を使うと、もっと複雑な条件も書けるようになるんですね。

先生

そうです。実際の開発では複数条件を組み合わせる場面が多いので、しっかり練習しておきましょう。

生徒

ネストは便利だけど、使いすぎると読みにくくなるのも理解できました。

先生

とても良い理解です。読みやすいコードを書くことも大切なスキルです。

生徒

これからはPHPのif文を使って、自分でも条件分岐を書いてみます。

先生

ぜひ実際に手を動かして練習してください。それが一番の上達方法です。

関連記事:

関連記事なし

カテゴリの一覧へ
新着記事
New1
Laravel
Laravelのredirect()関数の使い方を完全ガイド!初心者でもわかる画面遷移とリダイレクト処理
New2
CodeIgniter
CodeIgniterルーティングを完全攻略!正規表現でURLを自由自在に操る方法
New3
Laravel
LaravelのBlade構文まとめ!@if @foreach など基本ディレクティブ解説
New4
Laravel
Laravelのコントローラで例外処理を行うベストプラクティス!初心者にもわかりやすく解説
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPで文字列を結合する方法!ドット演算子と代入演算子の使い方を徹底解説
No.2
Java&Spring記事人気No2
Laravel
Laravelでリダイレクト処理を行う方法(redirectヘルパーの使い方)
No.3
Java&Spring記事人気No3
Symfony
Symfonyで条件付きバリデーションを実装する方法!初心者向けにgroupsの使い方を解説
No.4
Java&Spring記事人気No4
Laravel
Laravelのresponse()関数の使い方を完全ガイド!初心者でもわかるレスポンス制御とHTTPレスポンスの基本
No.5
Java&Spring記事人気No5
Laravel
LaravelでHello Worldを表示する方法を完全解説!初心者向けにルーティングと画面表示をやさしく説明
No.6
Java&Spring記事人気No6
CodeIgniter
CodeIgniterのServicesクラスとは?初心者向け完全ガイド
No.7
Java&Spring記事人気No7
Laravel
LaravelのBlade構文まとめ!@if @foreach など基本ディレクティブ解説
No.8
Java&Spring記事人気No8
PHP
PHPのif文の使い方を完全ガイド!初心者でもわかる条件分岐の基本