【PHP入門】if文の基本から応用までを徹底解説!

PHPではif文を使用して、値や型を比較することができます。

この記事では、

・if文の基本的な使い方
・if文のネスト
・elseif文の使い方

という基本的な内容から、

・if文の注意点
・比較演算子の使い方
・論理演算子の使い方

などの応用的な使い方に関しても解説していきます。

今回はそんなif文の使い方について、わかりやすく解説します!

if文とは

if文とは、条件に応じて処理を実行するための方法です。

言葉だけではわかりづらいため、簡単に書き方をご紹介します!

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

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

if文は、php以外にもほどんどの言語で使うことができるため、ぜひこの機会に覚えてみてくださいね!

if文の使い方

ここでは、if文の基本的な使い方を解説します。

値の大小を比較する

if文は値の大小を比較して、処理を実行することができます。

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

文字列を比較する

if文は文字列の比較を行うことも可能です。

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

サンプルでは文字列が一致したらbreakでforeach文のループ処理を抜けています。

サンプルで使用した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文による条件分岐処理は、上の式から順番に評価していきます。

そのため、以下のように70点で合格の場合でも「$value >= 50」での条件が真となってしまい、予期しない動作となってしまうこともあります。

実行結果:

このような簡単な式だと、問題がすぐに判明することもできますが、複雑な条件式や前後の処理でも条件式を多用していた場合、問題箇所を洗い出すのが困難になってしまいます。

そのため、条件式はその特性を活かして処理を作成していく必要があります。

比較演算子の使い方

ここでは、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文の使い方を忘れてしまったら、この記事を思い出してくださいね!

最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

LINEで送る
Pocket

書いた人

ヤマシタ

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

おすすめコンテンツ

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

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