カテゴリー : 2013年 8月1日

IF

IFは条件分岐です。 もし~~なら++をする。 という分岐処理を行っていきます。

if(条件式) 処理 ;

これが、一番シンプルなIF文です。{}や : ~ endif;がないとお思いでしょうが、ifの次にくる処理が一文のみの場合はこれでOKなのです。処理の行頭に条件分岐をつけているだけです。なのでIF文と呼ばれるのです。ためしに下記コードをやってみましょう。

IF文は真ん中の一行だけですよ!!

ただ、条件分岐での処理は複数の行で構成されることが多いので、

 if(条件式)
{ 処理 ;}
または
if(条件式):
処理 endif;

とされます。

となるわけですね。

上の例だと、条件式にあった場合は処理をそうでなければなにもしない。ということになりますが、そうでなかった場合の処理もおこないたい場合は、elseを使います。

 
if(条件式){ 
 trueの処理 ;
}else{
false の処理
}
または
if(条件式):
trueの処理 
else:
falseの処理
endif;

先ほどのサンプルコードにelse処理を付け加えます。

このようになります。またelseの時に条件式をつけることもできます。

 
if(条件式){ 
 trueの処理 ;
}elseif(条件式){
最初の条件がfalseであり、かつ次の条件がtrueのときの処理
}else{
全てfalseの処理
}
または
if(条件式):
trueの処理 
elseif:
最初の条件がfalseであり、かつ次の条件がtrueのときの処理
else:
全てfalseの処理
endif;

たとえば、

また、三項演算子といわれるもので、if~elseの処理を行うこともあります。

 
条件式 ? trueの処理 : falseの処理; 

サンプルコード

処理の値を即代入できる利点があります。

IF文練習問題

  • その1
    • $numに任意の数字を代入して、偶数なら丁 奇数なら半とだすプログラムを作成しましょう。
    • rand関数 rand() を使用して $numの値をランダムに生成して、丁半を判定するようにしましょう。 $numの値を表示させるのも忘れずに。
  • その2
    • 20未満なら未成年、20以上なら成人、77なら喜寿 88なら米寿 と表示されるような年齢判定プログラムを作成しましょう。
    • 配列変数 $ageを用意して、配列の値をarray(8,17,19,20,21,76,77,80,81,89,88)とし、$ageの添え字をrand関数で生成し、値をとりだし 年齢判定プログラムに判定させてください。

 

if文その2

if文は入れ子にすることもできます。

ループ文と合わせる事ももちろんできます。

IFで条件判定をしてtrueの時にループ処理。
ループ処理をしている中で、IFでの条件判定。
などなど