IF
- 2013 8/1
IFは条件分岐です。 もし~~なら++をする。 という分岐処理を行っていきます。
if(条件式) 処理 ;
これが、一番シンプルなIF文です。{}や : ~ endif;がないとお思いでしょうが、ifの次にくる処理が一文のみの場合はこれでOKなのです。処理の行頭に条件分岐をつけているだけです。なのでIF文と呼ばれるのです。ためしに下記コードをやってみましょう。
1 2 3 4 5 6 |
//変数 $a = 100; //ここがIF文 if($a == 100) $msg = '100です'; //出力 echo $msg; |
IF文は真ん中の一行だけですよ!!
ただ、条件分岐での処理は複数の行で構成されることが多いので、
if(条件式)
{ 処理 ;}
または
if(条件式):
処理 endif;
{ 処理 ;}
または
if(条件式):
処理 endif;
とされます。
1 2 3 4 5 6 7 8 9 |
$a = 10; $b = 3; //if文はじまり if($a > $b): echo '$aは$bより大きい'; $b = $a; endif; //if文終わり。 echo '現在の$bの値は'.$b; |
となるわけですね。
上の例だと、条件式にあった場合は処理をそうでなければなにもしない。ということになりますが、そうでなかった場合の処理もおこないたい場合は、elseを使います。
if(条件式){
trueの処理 ;
}else{
false の処理
}
または
if(条件式):
trueの処理
else:
falseの処理
endif;
先ほどのサンプルコードにelse処理を付け加えます。
1 2 3 4 5 6 7 8 9 10 |
$a = 10; $b = 15; if($a > $b): echo '$aは$bより大きい'; $b = $a; else: echo '$aは$bより小さい'; endif; echo '<br>現在の$bの値は'.$b; |
このようになります。またelseの時に条件式をつけることもできます。
if(条件式){
trueの処理 ;
}elseif(条件式){
最初の条件がfalseであり、かつ次の条件がtrueのときの処理
}else{
全てfalseの処理
}
または
if(条件式):
trueの処理
elseif:
最初の条件がfalseであり、かつ次の条件がtrueのときの処理
else:
全てfalseの処理
endif;
たとえば、
1 2 3 4 5 6 7 8 9 10 11 |
$a = 10; $b = 10; if($a > $b): echo '$aは$bより大きい'; $b = $a; elseif($a == $b): echo '$aと$bは同じ'; else: echo '$aは$bより小さい'; endif; echo '<br>現在の$bの値は'.$b; |
また、三項演算子といわれるもので、if~elseの処理を行うこともあります。
条件式 ? trueの処理 : falseの処理;
サンプルコード
1 2 3 |
$score = 75; $judge = $score >= 70 ? '合格':'不合格'; echo $judge; |
処理の値を即代入できる利点があります。