【PHP入門】if文による条件分岐の使い方を基礎から応用まで

PHPでif文(条件式)の使い方を知りたい
if文を使いこなせるようになりたい

PHPに限らずプログラミング言語では、条件によって処理を分岐させるためのif文があります。

if文はプログラミングをする上で最も基本的な処理となりますので、使い方はしっかりと理解しておきましょう。

この記事はこんな人のために書きました。

  • if文の基本的な使い方を知りたい方
  • if文でさまざまな条件分岐の方法を理解しておきたい方

※この記事ではPHPの「Version 7.1.1」で動作確認しました。

前提知識:if文とは

if文の書き方

if文とは、条件が真の場合に処理を実行します。たとえば、条件分岐は以下のように答えが真(true)か偽(false)かで表します。

  • あなたの年齢は20歳以上ですか?
  • テストの点数は50点以上でしたか?

PHPでのif文は以下のように記述します。

条件をカッコ『( )』の中に書き、処理を中かっこ『{ }』に書くことで、条件が一致したとき時だけ処理を実行できます。

条件式にはbool型の真偽値や値の大小、値の一致、関数の実行結果など、さまざまな条件を指定することができます。

if文を実行してみよう

では実際にphpファイルを作成して、if文を実行してみましょう。

以下の例では、値1と値2を比較して$値1の値が大きかったら、if文の処理が実行されます。

ファイルを保存してブラウザで実行すると、以下のように表示されます。

if文の基本

以下の例では、ループで配列の中の値を1つずつ取得し、指定した文字列”melon”が存在した場合はbreakで繰り返し処理を抜けています。

このプログラムでで使用したbreakについては、以下の記事でも詳しく解説しています。

if文のネスト

if文はネストとよばれる多重構造でif文の処理の中にif文を記述することが可能です。

以下のサンプルでは、if文をネストしてそれぞれ値を比較しています。

if文のネストは、多用しすぎて何重にもif文が重なると処理が分かりづらくなります。可読性やメンテンナンスの面からも、if文のネストは多用しすぎないように注意しましょう。

elseif文の使い方

if文はelseifまたはelse ifを使用して条件を分岐することができます。
※PHPではelseifとelse if(elseとifの間に半角スペース)のどちらを使用しても構いません。

また、if文は複数分岐の場合最後の条件にはelseを指定するのが慣例となっています。

↑の条件式では、

  • ifの条件式が真ならifの処理を実行
  • ifの条件式が偽でelseifの条件式が真ならelseifの処理を実行
  • elseifの条件式も偽ならelseの処理を実行

となります。

実際にelseifを使用した複数条件のサンプルを以下に記述します。

if文の条件が満たされなかったときに他の処理を実行したい場合、つまり条件式の真偽の結果で処理を分岐したい場合は、間にelseifを挟まないで、if~elseの形式で記述することも可能です。

elseは、if文における式の結果がtrueではなくfalseの場合に処理を実行するためにif文を拡張します。

以下にif~else文を使用する方法を記述します。

if文の応用

比較演算子の使い方

ここでは、if文の条件式で使用できる比較演算子を紹介します。

  • 等しい:$値1 == $値2

$値1 が $値2 に等しい時にTRUEを返します。

  • 等しい:$値1 === $値2

$値1 が $値2 に等しい、および同じ型の場合にTRUEを返します。

  • 等しくない:$値1 != $値2

$値1 が $値2 に等しくない場合にTRUEを返します。

  • 等しくない:$値1 <> $値2

$値1 が $値2 に等しくない場合にTRUEを返します。

  • 等しくない:$値1 !== $値2

$値1 が $値2 と等しくない、および同じ型でない場合にTRUEを返します。

  • より少ない:$値1 < $値2

$値1 が $値2 より少ない時にTRUEを返します。

  • より多い:$値1 > $値2

$値1 が $値2 より多い時にTRUEを返します。

  • より少ないか等しい:$値1 <= $値2

$値1 が $値2 より少ないか等しい時にTRUEを返します。

  • より多いか等しい:$値1 >= $値2

$値1 が $値2 より多いか等しい時にTRUEを返します。

以下に比較演算子を使用した簡単なサンプルを紹介します。

論理演算子の使い方

ここでは、if文の条件式で使用できる論理演算子を紹介します。

  • 論理積:$値1 and $値2

$値1 および $値2 が共にTRUEの場合にTRUEを返します。

  • 論理和:$値1 or $値2

$値1 または $値2 のどちらかがTRUEの場合にTRUEを返します。

  • 排他的論理和:$値1 xor $値2

$値1 または $値2 のどちらかがTRUEでかつ両方ともTRUEでない場合にTRUEを返します。

  • 否定:! $値1

$値1 が TRUEでない場合にTRUEを返します。

  • 論理積:$値1 && $値2

$値1 および $値2 が共にTRUEの場合にTRUEを返します。

  • 論理和:$値1 || $値2

$値1 または $値2 のどちらかがTRUEの場合にTRUEを返します。

以下に論理演算子の論理積と否定を使用した簡単なサンプルを紹介します。

PHPについてもっと知りたい方へ

いかがでしたでしょうか?

  • PHPについて実はいまいちわかっていない…
  • もっとPHPについて詳しく知りたい!

と思っている方は以下の記事も参考にしてみてください。

まとめ

ここでは、ifの基本やelseifの基本的な使い方、ネストの方法、比較演算子や論理演算子の使い方、if〜else文の使い方などを紹介しました。

if文は値を比較して処理を分岐するときによく使用します。もしif文の使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説