if文を使った条件分岐の方法

if 文は条件分岐を行うための構文の一つで、指定した条件に応じて実行する処理を分けることができます。例えば、変数の値が正の数か負の数かによって処理を変えたい場合などに使用します。ここでは PHP で if 文を使用する方法について解説します。

if文の使い方

プログラムは記述した順に上から下へ実行されていきますが、条件によって処理を分けたい場合もあります。例えば変数の値が正の数ならこちらの処理を行い負の数ならこちらの処理を行うといった場合です。

このように条件に従って処理を分岐させるための使われるのが if 文です。 if 文の書式は次のようになっています。

if (条件式){
  条件式が真の時に実行する処理1
  条件式が真の時に実行する処理2
}

条件式の箇所には x == 10y > 15 など比較演算子を使った条件式を記述します。この条件式が真(TRUE)となる時に { から } までの文が実行されます。(比較演算子については次のページを参照して下さい)。もし条件式が偽(FALSE)だった場合は、 if 文の次の文へ処理が移ります。

なお { から } で囲まれた部分をブロックと呼びます。 if 文の場合には条件式が真の場合にブロック内に記述された文を実行するということになります。ブロックはプログラムの中である範囲を区分するために使われます。

実行される処理が一つだけの場合はブロックを省略して次のように記述しても構いません。

if (条件式)
  条件式が真の時に実行する処理

実際には次のように記述します。

$old = 30;

if ($old >= 20){
  echo "20才以上です";
}

今回の例では変数 old に格納された値が 20 よりも大きいかどうかを判別し、真(TRUE)であれば "20才以上です" と出力します。偽(FALSE)だった場合は何もしません。

サンプルコード

では簡単なプログラムで試してみます。

<?php
$old = 25;
if ($old >= 20){
  echo "年齢は20歳以上です\n";
}

$pref = "東京都";
if ($pref === "東京都"){
  echo "住所は東京都です\n";
}

作成したプログラムを sample.php として保存しました。その後でコマンドプロンプトを起動し、次のように実行しました。

php sample.php

if文の使い方

最初の if 文では条件式として変数の値が 20 以上かどうかで処理を分けています。また次の if 文では条件式として変数の値が "東京都" と一致するかどうかで処理を分けています。

条件式が偽の時の処理(if..else)

if 文では条件式が真だった場合にだけ、その後に記述されたブロック内の処理を実行していました。 if..else 文では条件式が偽だった場合にも実行する処理を指定することができます。 if..else 文の書式は次のようになっています。

if (条件式){
  条件式が真の時に実行する処理1
  条件式が真の時に実行する処理2
}else{
  条件式が偽の時に実行する処理1
  条件式が偽の時に実行する処理2
}

条件式を評価し、真(TRUE)だった場合にはその後のブロック内の処理を行い、偽(FALSE)だった場合には else の後のブロック内の処理を行います。

実行される処理が一つだけの場合はブロックを省略して次のように記述しても構いません。

if (条件式)
  条件式が真の時に実行する処理
else
  条件式が偽の時に実行する処理

実際には次のように記述します。

$old = 18;

if ($old >= 20){
  echo "20才以上です";
}else{
  echo "20才未満です";
}

今回の例では変数 old に格納された値が 20 よりも大きいかどうかを判別し、真(TRUE)であれば "20才以上です" と出力します。偽(FALSE)だった場合には "20才未満です" と出力します。

サンプルコード

では簡単なプログラムで試してみます。

<?php
$old = 16;
echo "年齢", $old, "歳は";
if ($old >= 18){
  echo "成人です\n";
}else{
  echo "未成年です\n";  
}

$old = 27;
echo "年齢", $old, "歳は";
if ($old >= 18){
  echo "成人です\n";
}else{
  echo "未成年です\n";  
}

作成したプログラムを sample.php として保存しました。その後でコマンドプロンプトを起動し、次のように実行しました。

php sample.php

条件式が偽の時の処理(if..else)

if 文を使って変数に代入された数値が 18 以上かどうかで異なる処理を実行しています。

-- --

PHP で if 文を使用する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。