条件分岐 if文

if文はある判断基準に基づいて、動作を変えることができます。

プログラムは、決められた手続きにしたがって実行されるので、 通常はテレビ番組のように一本道に進みます。 条件分岐を利用すると、テレビゲームのように、 状況に応じて異なった結果にすることができます。

条件分岐とは

条件分岐とは、あらかじめ条件を設定しておくと、 その条件を満たす場合と、満たさない場合とで、 その後の動作を変えることで、 プログラミングでは必ずといっていいほど利用します。 「条件」「条件を満たす場合の動作」「条件を満たさない場合の動作」 の 3 つを書く必要があります。

  if (条件) {
       条件を満たす場合の動作
  } else {
       条件を満たさない場合の動作
  }

例えば、下のように使うことができます。 この例では、午前中は「おはようございます。」を、 午後は「こんにちは。」を表示させることができます。

  if ($hour <= 12) {
       print "おはようございます。" ;
  } else {
       print "こんにちは。" ;
  }

PHP ならではの書き方

上の書き方は C 言語に近いですが、 PHP では、「:(コロン)」と「;(セミコロン)」を用いて書くこともできます。 ifelseの後には「:」を、 endifの後には「;」を書きます。 条件式の最後に endif; を忘れないように注意しましょう。

  if ($hour <= 12) :
       print "おはようございます。" ;
  else :
       print "こんにちは。" ;
  endif ; 

この書き方のメリットは、if 条件式の中身 (上では「print "おはようございます。" ;」)を、 HTML で直接書くことができることです。 下のように、条件式の部分だけ、php スクリプトとして解釈させることができます。

  <?php if ($hour <= 12) : ?>
       おはようございます。
  <?php else : ?>
       こんにちは。
  <?php endif ; ?>

複数の条件を設定するには

条件が一個の場合は ifだけで良かったのですが、 条件が複数の場合は elseif という命令も必要になります。 elseif というのは、elseif を足したものだと思えば良いでしょう。 なお、elseif は複数使えるので、10 パターンに場合分け、 などということもできます。

  if (条件1) {
       条件1を満たす場合の動作
  } elseif (条件2) {
       条件1を満たさないが、条件2を満たす場合の動作
  } else {
       条件1も2も満たさない場合の動作
  }

たとえば、下のようになります。 深夜0時〜午前6時は「おやすみなさい。」 午前6時〜正午は「おはようございます。」 正午〜午後6時は「こんにちは。」 午後6時〜深夜12時は「こんばんは。」 と表示されます。

  if ($hour <= 6) {
       print "おやすみなさい。" ;
  } elseif ($hour <= 12) {
       print "おはようございます。" ;
  } elseif ($hour <= 18) {
       print "こんにちは。" ;
  } else {
       print "こんばんは。" ;
  }

条件を満たさない場合の動作を省略する

今までは、条件を満たさない場合にも何らかの動作をさせていましたが、 条件を満たさない場合に何もしない場合は、 else の部分を省略することができます。

  if (条件) {
       条件を満たす場合の動作
  }

条件を満たす場合だけ書く、というのも良く利用するので、 使えるようにしておきましょう。

条件分岐 switch文」に進む

Copyright (C) 2003-2013. PHP で WEB 作成 All rights reserved.