PHPの基本的な構文であるelseif文, else文について紹介します。
if文ではひとつの条件式と処理の組み合わせしか記述できませんが、elseif文とelse文を使うことで複数の条件式と処理の組み合わせを記述することができます。
elseif文, else文の使い方
elseif文、else文の書式は以下のとおりです。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
if ( 条件式1 ) { 条件式1が真のときに実行する処理1; } elseif ( 条件式2 ) { 条件式1が偽で条件式2が真のときに実行する処理2; } elseif ( 条件式3 ) { 条件式1,2が偽で条件式3が真のときに実行する処理3; } else { すべての条件式が偽のときに実行する処理4; } |
elseif文はいくつでも記述することができます。
この構文ではまず、ifの後の条件式1が判定され、条件に当てはまればブロック{ }内に記述された処理1が実行されます。もし条件式1に当てはまらない場合は、次にelseifの後の条件式2が判定されます。もし条件式2に当てはまる場合は、処理2が実行されます。条件式2にも当てはまらない場合は、条件式3の判定がされます。この条件式の判定を繰り返した後、そして、どの条件にも当てはまらなかった場合にはelseブロック{ }に書かれた処理4が実行されます。
具体例を見ていきましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $store = "A店"; if ( $store == "A店" ) { echo $store . "は東京にあります。\n"; // 処理1 } elseif ( $store == "B店" ) { echo $store . "は大阪にあります。\n"; // 処理2 } else { echo $store . "は存在しません。\n"; // 処理3 } ?> |
上のプログラムの場合「$store == "A店"」の条件に当てはまるので、以下の結果のように処理1が実行されます。
1 |
A店は東京にあります。 |
上のプログラムの最初の箇所を「B店」に置き換えてみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $store = "B店"; if ( $store == "A店" ) { echo $store . "は東京にあります。\n"; // 処理1 } elseif ( $store == "B店" ) { echo $store . "は大阪にあります。\n"; // 処理2 } else { echo $store . "は存在しません。\n"; // 処理3 } ?> |
上のプログラムの場合は、まず「$store == "A店"」の条件を当てはまるか判定されます。これの条件には当てはまらないので、elseifの後の条件式「$store == "B店"」の判定がされます。これは条件を満たすので、この場合は処理2が実行され結果は以下のようになります。
1 |
B店は大阪にあります。 |
最後は「C店」に置き換えてみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $store = "C店"; if ( $store == "A店" ) { echo $store . "は東京にあります。\n"; // 処理1 } elseif ( $store == "B店" ) { echo $store . "は大阪にあります。\n"; // 処理2 } else { echo $store . "は存在しません。\n"; // 処理3 } ?> |
この場合は、まずifの後の条件式「$store == "A店"」の条件に当てはまるか判定されます。この条件には当てはまらないので、elseifの後の条件式「$store == "B店"」の判定がされます。この条件にも当てはまらないので、else{ }ブロック内の処理3が実行されます。
1 |
C店は存在しません。 |