PHP
PR

PHPのif文|条件によって表示を変える基本

PHP 2-3の記事用アイキャッチ画像。PHPのif文を使って条件によって表示を変える基本を表現している。
toshi
記事内に商品プロモーションを含む場合があります

この記事は、PHPのif文について、初学者向けに整理する記事です。

前回の記事では、文字列をつなげたり、数字を計算したりする基本を確認しました。

今回は、その続きとして、条件によって表示内容を変える「if文」の基本を見ていきます。

if文を使うと、「条件に合うときだけ表示する」「条件によって違う内容を表示する」といった処理ができるようになります。

たとえば、
「18歳以上なら成人ですと表示する」
「80点以上なら合格と表示する」
といった考え方が、if文の基本です。

PHPを学んでいく上で、if文はとてもよく使う基本文法のひとつです。

この記事で分かること

この記事では、PHPのif文について、次の内容を整理します。

  • if文とは何か
  • 条件がtrueのときだけ処理を実行する考え方
  • elseを使って表示を分ける方法
  • 比較演算子の基本
  • if文の書き方
  • よくあるつまずきポイント

if文は、変数や計算結果を使って処理を分ける時にとても便利です。

最初は少し記号が増えますが、流れを分けて考えれば大丈夫です。

Q
先に結論だけ読む

PHPのif文は、条件に合うときだけ処理を実行するための文法です。

たとえば、次のように書きます。 = 18) { echo ‘成人です’; } ?>

この場合、$age が 18以上なので、成人です と表示されます。

条件に合わないときの処理も書きたい場合は、else を使います。 = 18) { echo ‘成人です’; } else { echo ‘未成年です’; } ?>

この場合は、未成年です と表示されます。

if文とは?

if文とは、条件を判定して、条件に合うときだけ処理を実行するための書き方です。

たとえば、

  • 18歳以上なら「成人です」と表示する
  • 点数が80点以上なら「合格」と表示する
  • ログインしているなら「マイページ」を表示する

といった処理に使えます。

つまり、if文は
「もし○○なら、△△する」
という考え方をコードにしたものです。

if文は、「もし条件に合ったら、この処理をする」という文法です。

最初は難しく考えすぎず、「条件によって動きを変えるための仕組み」と考えると分かりやすいです。

条件分岐の全体像

まずは、if文の全体の流れを図で見ておきます。

PHPのif文で条件を判定し、trueの場合とfalseの場合で表示内容が分かれる流れを説明した図
if文では、条件を判定して、trueの場合とfalseの場合で実行する処理を分けられます。

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 >= 18
PHP

です。

20 は 18以上なので、条件は true になります。

そのため、波かっこ { } の中の

echo '成人です';
PHP

が実行されます。

ブラウザには、次のように表示されます。

成人です
TeX

具体例の流れを図で見る

ここで、先ほどの age の例を図で確認しておきます。

PHPのif文で$ageが18以上かどうかを判定し、条件がtrueの場合は成人です、falseの場合は未成年ですと表示する流れを示した図
if文では、条件がtrueのときとfalseのときで、実行する処理を分けられます。

この図のように、

  • $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 です。

そのため、ブラウザには次のように表示されます。

未成年です
TeX

else は、「条件に合わなかったときの処理」を書くためのものです。

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 で表示を分ける」
ところまで分かれば十分です。

論理演算子は、今は
「こういう広げ方もある」
くらいで見ておいて大丈夫です。

PHPのif文で使う比較演算子と論理演算子を一覧で整理し、条件の組み立て例も示した図
if文では、比較演算子で条件を作り、必要に応じて論理演算子を組み合わせて条件を広げられます。

比較演算子は、値を比べるための記号です。

たとえば、

  • $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 == 20
PHP

これは、$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:最初の1冊(必要な方だけ)

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文。条件によって表示を変える基本

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
toshi
toshi
フルスタックエンジニア
C型肝炎や感染症の闘病を経て現在通院中
フリーランスとして今日を生きる、それがすべて。
静かな光の中で、歩みを止めずに生きていく。
実験大好きなので色々とやっていきます。
記事URLをコピーしました