PHP if文 【初級編 第29回】

この記事は2012年12月3日に書かれたものです。内容が古い可能性がありますのでご注意ください。


PHP if文 【初級編 第29回】

if文

前回までは演算子について記述しました。
今回は if文について記述していきたいと思います。

if文について

if文は条件判定文のことで、
if文を使用して条件が一致した場合の動作、または条件に一致しなかった場合の動作を
記述することができます。
例えば $a == $b のように $a と $b の値が同じ場合にはこの処理をさせるといったことができます。

if文の記述方法

if文は下記のように記述します。
if(条件){
条件が trueだった場合の動作;
}

このように ()の中に判定させる条件を記述して、
その条件にマッチしたらの動作を { } の中に記述します。

例えば下記では $hensuu1 と $hensuu2 の値が一緒だった場合に echo を実行します。

一致した場合のサンプル

<?php
 $hensuu1 = "abc";
 $hensuu2 = "abc";
 if($hensuu1 == $hensuu2){
   echo "一致しました。";
 }
 echo "<br>";
 echo '$hensuu1は'.$hensuu1.'で $hensuu2は'.$hensuu2.'です。';
?>

結果は以下のようになります。
ブラウザ確認画像

条件が一致しなかった場合は { } の中の処理が実行されません。
下記では $hensuu1 と $hensuu2 に異なる値を代入してみました。

一致しなかった場合のサンプル

<?php
 $hensuu1 = "abc";
 $hensuu2 = "abcd";
 if($hensuu1 == $hensuu2){
   echo "一致しました。";
 }
 echo "<br>";
 echo '$hensuu1は'.$hensuu1.'で $hensuu2は'.$hensuu2.'です。';
?>

結果は以下のように、条件判定にマッチしたら処理する { } の部分が実行されませんでした。
ブラウザ確認画像

一致しなかったらの場合の動作をさせる

if のみだとその条件に一致した場合の処理のみしか記述できませんが、
一致しなかった場合に処理させたい内容がある場合は、下記のように else文を使用します。
else文も if文のように処理させたい内容を { } の中に記述します。
if(条件) にマッチしなかったら処理することになります。

下記では $hensuu1 と $hensuu2 の値が一致しなかった場合の動作を else文を使用して記述しています。

else文のサンプル

<?php
 $hensuu1 = "abc";
 $hensuu2 = "abcd";
 if($hensuu1 == $hensuu2){
   echo "一致しました。";
 } else {
   echo "一致しませんでした。";
 }
 echo "<br>";
 echo '$hensuu1は'.$hensuu1.'で $hensuu2は'.$hensuu2.'です。';
?>

結果は以下のようになります。
ブラウザ確認画像

条件を複数記述したい場合

if と elseだけでは、条件にマッチした場合の処理、マッチしなかった場合の処理しか記述できませんが、
elseifを使用すれば 複数の条件を記述することができます。
elseif は ifで判定した後に、ifと同じように elseif(条件){処理} のように記述します。

以下では elseifで $hensuu1 < $hensuu2 の場合に処理を実行するようにしています。

elseif文のサンプル

<?php
 $hensuu1 = 2;
 $hensuu2 = 3;
 if($hensuu1 == $hensuu2){
   echo "ifにマッチしました。";
 } elseif($hensuu1 < $hensuu2) {
   echo "elseifにマッチしました。";
 }
 echo "<br>";
 echo '$hensuu1は'.$hensuu1.'で $hensuu2は'.$hensuu2.'です。';
?>

結果は以下のように、 elseifの箇所だけ処理が実行されました。
ブラウザ確認画像

if や else は1つの条件判定で、1回しか記述できませんが、 elseif は何回も記述することができます。

<?php
 $hensuu1 = 3;
 $hensuu2 = 1;
  if($hensuu1 == $hensuu2){
   echo "ifにマッチしました。";
 } elseif($hensuu1 < $hensuu2) {
   echo "elseif1にマッチしました。";
 } elseif($hensuu1 > $hensuu2) {
   echo "elseif2にマッチしました。";
 }
?>

ブラウザ確認画像

ちなみに elseifでは ifのところで記述している条件がマッチしたら elseifのところの条件は比較されないので処理も実行されません。
下記では、ifと elseifに同じ条件を記述していますが、if のところの処理だけが実行されて elseif は処理されませんでした。

<?php
 $hensuu1 = 2;
 $hensuu2 = 3;
 if($hensuu1 < $hensuu2){
   echo "ifにマッチしました。";
 } elseif($hensuu1 < $hensuu2) {
   echo "elseifにマッチしました。";
 }
 echo "<br>";
 echo '$hensuu1は'.$hensuu1.'で $hensuu2は'.$hensuu2.'です。';
?>

結果は以下のようになります。
ブラウザ確認画像

  • このエントリーをはてなブックマークに追加

PAGE TOP