PHPのif文|条件によって表示を変える基本
if文を使うと、「条件に合うときだけ表示する」「条件によって違う内容を表示する」といった処理ができるようになります。
たとえば、
「18歳以上なら成人ですと表示する」
「80点以上なら合格と表示する」
といった考え方が、if文の基本です。
PHPを学んでいく上で、if文はとてもよく使う基本文法のひとつです。
この記事で分かること
この記事では、PHPのif文について、次の内容を整理します。
- if文とは何か
- 条件がtrueのときだけ処理を実行する考え方
- elseを使って表示を分ける方法
- 比較演算子の基本
- if文の書き方
- よくあるつまずきポイント
if文は、変数や計算結果を使って処理を分ける時にとても便利です。
最初は少し記号が増えますが、流れを分けて考えれば大丈夫です。
- 先に結論だけ読む
-
PHPのif文は、条件に合うときだけ処理を実行するための文法です。
たとえば、次のように書きます。 = 18) { echo ‘成人です’; } ?>
この場合、$age が 18以上なので、成人です と表示されます。
条件に合わないときの処理も書きたい場合は、else を使います。 = 18) { echo ‘成人です’; } else { echo ‘未成年です’; } ?>
この場合は、未成年です と表示されます。
if文とは?
if文とは、条件を判定して、条件に合うときだけ処理を実行するための書き方です。
たとえば、
- 18歳以上なら「成人です」と表示する
- 点数が80点以上なら「合格」と表示する
- ログインしているなら「マイページ」を表示する
といった処理に使えます。
つまり、if文は
「もし○○なら、△△する」
という考え方をコードにしたものです。
if文は、「もし条件に合ったら、この処理をする」という文法です。
最初は難しく考えすぎず、「条件によって動きを変えるための仕組み」と考えると分かりやすいです。
条件分岐の全体像
まずは、if文の全体の流れを図で見ておきます。

if文では、まず条件を判定します。
その結果が、
- true(条件に合っている)
- false(条件に合っていない)
のどちらかになります。
そのあと、true のときに実行する処理、false のときに実行する処理へ分かれていきます。
trueとfalseとは?
if文を理解するために、true と false の考え方を押さえておきます。
- true:条件に合っている
- false:条件に合っていない
たとえば、
$age >= 18;PHPという条件があったとします。
もし $age が 20 なら、
20 >= 18;PHPとなるので、これは true です。
一方で、$age が 16 なら、
16 >= 18;PHPとなるので、これは false です。
true と false は、条件判定の結果です。
最初のうちは、
「条件に合っている = true」
「条件に合っていない = false」
と考えておけば十分です。
if文の基本構文
if文の基本形は、次のようになります。
この形を分けて見ると、次のようになります。
| 部分 | 役割 |
|---|---|
| if | 条件分岐を始める |
| (条件) | 判定したい条件を書く |
| { } | 条件に合ったときの処理を書く場所 |
if のあとの丸かっこ ( ) の中に条件を書きます。
その条件が true だった場合だけ、波かっこ { } の中の処理が実行されます。
実際の例:18歳以上なら表示する
まずは、もっとも基本的な例として、年齢を使った条件分岐を見てみます。
<?php
$age = 20;
if ($age >= 18) {
echo '成人です';
}
?>PHPこのコードでは、$age が 20 です。
条件は、
$age >= 18PHPです。
20 は 18以上なので、条件は true になります。
そのため、波かっこ { } の中の
echo '成人です';PHPが実行されます。
ブラウザには、次のように表示されます。
成人ですTeX具体例の流れを図で見る
ここで、先ほどの age の例を図で確認しておきます。

この図のように、
- $age >= 18 が true なら「成人です」
- false なら「未成年です」
というように、条件によって表示内容を変えられます。
条件に合わないときは何も表示されない
if文だけを書いた場合、条件に合わないときは何も表示されません。
たとえば、次のようなコードです。
<?php
$age = 16;
if ($age >= 18) {
echo '成人です';
}
?>PHPこの場合、$age は 16 なので、条件は false です。
そのため、波かっこ { } の中は実行されません。
ブラウザには、何も表示されません。
これはエラーではなく、if文の自然な動きです。
elseを使うと、条件に合わないときの処理も書ける
条件に合わないときの処理も書きたい場合は、else を使います。
<?php
$age = 16;
if ($age >= 18) {
echo '成人です';
} else {
echo '未成年です';
}
?>PHPこのコードでは、
- 条件が true なら「成人です」
- 条件が false なら「未成年です」
となります。
今回の $age は 16 なので、条件は false です。
そのため、ブラウザには次のように表示されます。
未成年ですTeXelse は、「条件に合わなかったときの処理」を書くためのものです。
if だけだと false のときは何も起こりませんが、else を使うと false 側の処理もはっきり書けます。
比較演算子とは?
if文の条件では、比較演算子という記号をよく使います。
比較演算子は、値を比べるための記号です。
| 記号 | 意味 | 例 |
|---|---|---|
| == | 等しい | $score == 100 |
| != | 等しくない | $score != 100 |
| > | より大きい | $score > 80 |
| < | より小さい | $score < 80 |
| >= | 以上 | $age >= 18 |
| <= | 以下 | $age <= 18 |
たとえば、
$score >= 80;PHPなら、
「score が 80以上なら true」
という意味です。
if文では、比較演算子だけでなく、論理演算子を使って条件を組み合わせることもできます。
ただし、PHP 2-3の段階では、まず
「1つの条件を比べる」
「if と else で表示を分ける」
ところまで分かれば十分です。
論理演算子は、今は
「こういう広げ方もある」
くらいで見ておいて大丈夫です。

比較演算子は、値を比べるための記号です。
たとえば、
- $age >= 18
- $score == 100
- $role != ‘guest’
のように使います。
一方で、論理演算子は、条件を組み合わせるための記号です。
- && :両方とも条件に合うとき
- || :どちらか一方でも条件に合うとき
- ! :条件の結果を反転させるとき
- xor :どちらか片方だけ条件に合うとき
たとえば、次のような書き方ができます。
<?php
$age = 20;
$member = true;
if ($age >= 18 && $member == true) {
echo '成人会員です';
}
?>PHPこのように、if文では
「比較演算子で条件を作る」
「論理演算子で条件をつなぐ」
という考え方ができます。
ただし、最初のうちは && と || を軽く知っておく程度で大丈夫です。
まずは、1つの条件をif文で判定できることを優先して進めていきましょう。
scoreを使った例
次は、点数で見てみます。
<?php
$score = 85;
if ($score >= 80) {
echo '合格です';
}
?>PHPこの場合、$score は 85 なので、条件は true です。
そのため、ブラウザには次のように表示されます。
合格ですTeX一方で、$score を 70 にすると、条件は false になるので、何も表示されません。
文字列でも条件判定できる
if文は、数字だけでなく文字列でも使えます。
<?php
$role = 'admin';
if ($role == 'admin') {
echo '管理者です';
}
?>PHPこの場合、$role は admin なので、条件は true です。
そのため、ブラウザには次のように表示されます。
管理者ですTeXこのように、文字列が同じかどうかを判定することもできます。
= と == の違いに注意する
if文で特に気をつけたいのが、= と == の違いです。
| 書き方 | 意味 |
|---|---|
| = | 代入する |
| == | 等しいか比較する |
たとえば、
$age = 20;PHPこれは、20 を $age に入れるという意味です。
一方で、
$age == 20PHPこれは、$age が 20 と等しいかどうかを比べるという意味です。
if文の条件では、「比べる」ための記号を使う必要があります。
if文の条件では、= ではなく == を使います。
= は「値を入れる」記号です。
== は「等しいかどうかを比べる」記号です。
ここは最初に混乱しやすいポイントなので、丁寧に見分けるのがおすすめです。
複数行のHTMLの中でも使える
if文は、HTMLの中でも使えます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPのif文</title>
</head>
<body>
<h1>PHPのif文</h1>
<?php
$age = 20;
?>
<?php if ($age >= 18) { ?>
<p>成人です</p>
<?php } else { ?>
<p>未成年です</p>
<?php } ?>
</body>
</html>PHPこのように、HTMLの表示内容を条件によって切り替えることもできます。
最初は少し見た目が複雑に感じるかもしれませんが、やっていることは同じです。
- 条件を判定する
- true なら上のHTMLを表示する
- false なら下のHTMLを表示する
という流れです。
よくあるつまずきポイント
if文で最初につまずきやすいところを整理しておきます。
if の条件で = を使ってしまう
次のように書くのは、比較ではなく代入です。
if ($age = 18)PHP比較したいときは、次のように書きます。
if ($age == 18)PHP丸かっこや波かっこを閉じ忘れる
if文では、( ) と { } を使います。
if ($age >= 18) {
echo '成人です';
}PHP丸かっこや波かっこを閉じ忘れると、エラーの原因になります。
条件に合わないときに何も表示されず不安になる
if だけを書いた場合、条件に合わないときは何も表示されません。
これは正常な動きです。
false のときにも表示したいなら、else を使います。
比較演算子を混同する
たとえば、
- > は「より大きい」
- >= は「以上」
です。
18以上にしたいのに > 18 と書くと、18ちょうどが含まれません。
細かい違いですが、よく確認しておくと安心です。
文字列を比較するときのクォーテーションを忘れる
たとえば、admin という文字列を比較したい場合は、クォーテーションで囲みます。
if ($role == 'admin') {
echo '管理者です';
}PHP文字列は、比較するときもクォーテーションが必要です。
今日のまとめチェック
この記事の内容は、次のポイントが分かればOKです。
- if文は条件に合うときだけ処理を実行する文法だと分かった
- true は条件に合っている、false は条件に合っていない状態だと分かった
- if文の基本構文が分かった
- else を使うと条件に合わないときの処理も書けると分かった
- 比較演算子の基本が分かった
- = と == の違いが分かった
全部を一度に暗記しなくても大丈夫です。
まずは、
「if は条件に合ったときの処理」
「else は条件に合わなかったときの処理」
と押さえておけば十分です。
まとめ
今回は、PHPのif文について整理しました。
if文を使うと、条件によって表示内容や処理を変えられるようになります。
たとえば、
<?php
$age = 20;
if ($age >= 18) {
echo '成人です';
} else {
echo '未成年です';
}
?>PHPこのように書くと、年齢に応じて表示を切り替えられます。
PHPでは、入力内容やユーザーの状態によって処理を変える場面が多くあります。
そのため、if文は今後も何度も使う大切な基本文法です。
次の記事では、複数のデータをまとめて扱う「配列」の基本を見ていきます。
PR:PHP学習の最初の参考書として、必要な方だけ見てください。
記事内の内容だけでも進められますが、手元に1冊あると、
PHPの基本文法やフォーム処理をまとめて確認しやすくなります。
※価格や在庫、版数は変わるため、最終確認はリンク先でお願いします。
次は、PHPの配列に進みます。
配列を使うと、複数の値をひとまとめにして扱えるようになります。
if文と組み合わせることで、より実践的な処理にもつながっていきます。
PHP 2章の流れ
PHP 2章では、次の順番で基本文法を学んでいきます。
- PHP 2-4:PHPの配列とは?複数のデータをまとめて扱う
- PHP 2-1:PHPの変数とは?文字や数字を入れて使う基本
- PHP 2-2:PHPの文字列と計算。つなげる・表示する・計算する
- PHP 2-3:PHPのif文。条件によって表示を変える基本

