※このサンプルの解説は、「CGI(Perl)の解説」をすべて読み終えてる方を前提としています。
後になるほど省略されている場合がありますのでできるだけ順番に読んでください。
また、実行に際しては、サーバーでPHPが利用できる事を前提に解説しています。
■ 条件命令(if、else、elseif、switch)
それでは「条件命令」について具体的な使用方法を解説します。
ここに使用した命令の概要は、「PHPの予備知識」−「制御構造」で解説しています。
その前によく使う演算子について説明しておきます。
- (数式) == (数式)
-
左辺と右辺が一致している時に使用します。
数式以外に、定数や値なども使用できます。
数値、文字列のどちらでも利用が可能です。
- (数式) != (数式)
-
左辺と右辺が等しくない時に使用します。
数式以外に、定数や値なども使用できます。
数値、文字列のどちらでも利用が可能です。
- (数式) < (数式)
-
左辺が右辺より小さい時、条件を満足します。
数式以外に、定数や値なども使用できます。
数値、文字列のどちらでも利用が可能です。
- (数式) > (数式)
-
左辺が右辺より大きい時、条件を満足します。
数式以外に、定数や値なども使用できます。
数値、文字列のどちらでも利用が可能です。
- (数式) <= (数式)
-
左辺が右辺より小さいか同じ時、条件を満足します。
数式以外に、定数や値なども使用できます。
数値、文字列のどちらでも利用が可能です。
- (数式) >= (数式)
-
左辺が右辺より大きいか同じ時、条件を満足します。
数式以外に、定数や値なども使用できます。
数値、文字列のどちらでも利用が可能です。
- (条件式) or (条件式)
-
2つの条件式のどちらか一方を満足した時、trueを返します。
- (条件式) and (条件式)
-
両方の条件式を満足した時、trueを返します。
- !(条件式)
-
条件式の結果を反転します。
上記以外の「演算子」や詳しい説明は「PHP関連のサイト」 のリファレンスサイトの「演算子」に詳しく解説されてますので、そちらも参照してください。
◆if、elseif、elseの使用方法
これらについては記述方法が問題になるだけだと思います。
ある条件を満足する時の記述は次のような記述をします。
- 【記述サンプル】
- if ( (条件式) ){ (一連の処理) }
ある条件を満足する時とそれ以外の時の記述は次のような記述をします。
- 【記述サンプル】
- if ( (条件式) ){ (条件を満足した時の処理) }else{ (それ以外の処理) }
複数の条件を連続して記述する場合は次のような記述をします。
- 【記述サンプル】
- if ( (条件式1) ){ (条件式1を満足した時の処理) }elseif ( (条件式2) ){ (条件式1を満足しないで条件式2を満足した時の処理) }elseif ( (条件式3) ){ (条件式1、条件式2を満足しないで条件式3を満足した時の処理) }else{ (上記の条件のいずれも満足しなかった時の処理) }
◆switch文の使用方法
「switch」文の場合、条件式は1つですが、その値により複数の処理を切り分けたい時に使用します。
例えば次のような記述方法を取ります。
- 【記述サンプル】
- switch ( (条件式) ){ case (値1): (条件式の結果が「値1」と一致した場合の処理) break; case (値2): (条件式の結果が「値2」と一致した場合の処理) break; case (値3): (条件式の結果が「値3」と一致した場合の処理) break; default: (条件式の結果がどの値にも一致しなかった場合の処理) break; }
各処理の最後に「break;」命令があるのは「switch」文の残りのすべての実行文を処理しないようにするためです。
もし、「break;」命令を記述しなければそのまま次に続く処理が実行されます。
したがって、上記サンプルで「値1」、「値2」、「値3」に記述する処理がすべて同じ場合、次のように省略する事ができます。
- 【記述サンプル】
- switch ( (条件式) ){ case (値1): case (値2): case (値3): (条件式の結果が「値1」〜「値3」のどれかに一致した場合の処理) break; default: (条件式の結果がどの値にも一致しなかった場合の処理) break; }
◆条件命令のテスト
それでは上記のサンプルを使って条件命令をテストするために次のようなサンプルを作成してみました。
- 【記述サンプル】
- <?php $a = "2"; print "--------------------<br>\n"; if (($a - 1) == "1"){ print "ここが表示される<br>\n"; }else{ print "ここは表示されない<br>\n"; } print "--------------------<br>\n"; if ($a == "2"){ print "ここが表示される<br>\n"; }elseif ($a == "2"){ print "ここは表示されない<br>\n"; } print "--------------------<br>\n"; switch($a){ case "1":print "ここは表示されない<br>\n"; case "2":print "ここが表示される<br>\n"; case "3":print "ここも表示される<br>\n"; } print "--------------------<br>\n"; switch($a){ case "1":print "ここは表示されない<br>\n"; break; case "2":print "ここが表示される<br>\n"; break; case "3":print "ここは表示されなくなる<br>\n"; break; } print "--------------------<br>\n"; ?>
※「<br>\n」はHTML表示の改行とソースの改行です。
◆条件命令のテストの実行結果
最後に記述した上記のサンプルを「jouken.php」という名前で保存して実行してみてください。
実行結果はこちらをクリックしてください。
なお、実行結果については、各々のサーバーの環境、ユーザーの環境にによって内容は変わってきます。