条件分岐の手法【PHP/if】

mycompilerでコード編集からコンパイル、実行まで行えます。

「ある条件の時は1の処理を行う。次の条件では2の処理、その他では3の処理」と設定した条件により実行内容を変えられるのがifのメリットです。

このページでPHPのif文について学びましょう。

条件分岐ifの構文

PHPでifを使う手法について解説します。

まずは『if (条件) {実行内容;}』の順に記述し、1つ目の条件と条件1に合致した時の実行内容を定義します。

//ifの構文

$num=15;
<?php
if ($num%2==0){
echo "numは偶数です"

上の例では変数『num』に15という奇数が入っておりifの条件『$num%2==0』に合致しないため、実行内容が処理されずに終わります。

では、奇数の時の処理を『else if (条件) {実行内容;}』で定義してみましょう。

//ifの構文

<?php
 $num=15;
if ($num%2==0){
echo "numは正の偶数です";
}
else if ($num%2==1.0){
echo "numは正の奇数です";
}
//実行結果

numは奇数です

これで変数が正の奇数か正の偶数か判別するプログラムができました。

しかし、変数がマイナスの値だった時、PHPでは偶数奇数の判断ができないので『else {実行内容;}』でその他の処理内容を定義してあげましょう。

//ifの構文

<?php
 $num=-15;
if ($num%2==0){
echo "numは正の偶数です";
}
else if ($num%2==1.0){
echo "numは正の奇数です";
}
else{
echo "numは負の値です";    
}
//実行結果

numは負の値です

これでif文の使い方は終わりです。

条件を増やしたい時には必要な数だけ『else if』を追加しましょう。

PHPでifを使うときの注意点

PHPに限らずif文を使うときの注意点として、条件を定義する順番があります。

例えば以下の例文を見てみましょう。

//ifの注意

<?php
 $num=23;
if ($num>=5){
echo "numは5以上です";
}
else if ($num>=10){
echo "numは10以上です";
}
else if ($num>=20){
echo "numは20以上です";
}
else{
echo "numは5未満です";    
}
//実行結果

numは5以上です

変数『num』は20以上の数値のため、本来であれば『numは20以上です』を出力したいところです。

しかし、1つ目の条件定義を最も広範囲の『$num>=5』にしたために、1つ目の『if』が実行されて以降の条件分岐がスルーされてしまった訳です。

以下のように修正すると本来の目的が果たせます。

//ifの注意

<?php
 $num=23;
if ($num>=20){
echo "numは20以上です";
}
else if ($num>=10){
echo "numは10以上です";
}
else if ($num>=5){
echo "numは5以上です";
}
else{
echo "numは5未満です";    
}
//実行結果

numは20以上です

条件分岐は狭い範囲から行いましょう。

コメント