はじめに:if文って何?
PHPでプログラムを書いていると、
「もし○○だったら、この処理をしたい」
という場面は必ず出てきます。
たとえば、
- テストの点数が70点以上なら「合格」、それ未満なら「不合格」
- 会員ログイン済みならマイページを表示、それ以外はログイン画面を表示
こういった「条件によって動きを変える仕組み」が if文(条件分岐) です。
if文の基本構文
PHPのif文は次のような形で書きます。
if (条件式) {
条件がtrueのときに実行する処理;
}
- 条件式
()
の中に条件を書きます。この条件が「true(真)」の場合だけ{ }
の中が実行されます。 - true / false
条件式の結果が真(true)か偽(false)かで処理が分岐します。 - { }(波かっこ)
実行する処理を囲む部分です。処理が1行だけの場合は省略できますが、初心者は付けたほうが安全です。
基本例:点数による合否判定
<?php
$score = 80; // テストの点数を変数に代入
if ($score >= 70) { // 70点以上かどうかを判定
echo "合格です!"; // 条件がtrueなら実行
}
?>
出力例
合格です!
コードの意味
$score = 80;
で変数$score
に 80 を代入if ($score >= 70)
で「80が70以上か?」をチェック- 条件がtrue(80 >= 70)なので
{ }
内のecho "合格です!";
が実行 - 画面に「合格です!」と表示
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 "不合格です。";
}
?>
出力例
合格です!
処理の流れ
$score >= 90
→ false(85は90未満)$score >= 70
→ true(85は70以上)- 「合格です!」を表示して終了
比較演算子と論理演算子の基礎
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文との違い」「三項演算子」など、条件分岐をさらに深掘りしていきましょう!


3ステップでしっかり学ぶPHP入門 小田垣佑/著 大井渉/著 金替洋佑/著


Android & iOS両対応 つくりながら覚えるスマホゲームプログラミング【電子書籍】[ 掌田津耶乃(著) ]


任天堂|Nintendo ナビつき! つくってわかる はじめてゲームプログラミング【Switch】 【代金引換配送不可】
今後理解が深まったら読みたい徹底解説編


コメント