第9章 条件で処理を変える
9.4 if-else文を使ってみよう
前節では「もし○○○ならば×××する」という単純な条件分岐を処理する「if文」について学習しました。本節ではif文を少し発展させ、「もし○○○ならば×××する。そうでなければ△△△する。」というような、条件に満たさなかった場合にも処理を行わせる「if-else(イフ・エルス)文」について学習していきましょう。
9.4.1 if-else文の使い方
if-else文は指定した条件式を満たす場合にifブロック内の処理を行い、満たさない場合はelseブロックの処理を行うことになります。
書式:if-else文
if-else文の処理の流れをフローチャートで表すと以下の図9.4.1になります。
図 9.4.1 : if-else文のフローチャート
ポイント
- ある条件の結果に応じて異なる処理を行わせたい場合、if-else文を使う。
if-else文を利用して条件に応じた処理を行わせるプログラム
if-else文を利用して変数の値で条件を満たす場合と満たさない場合で、条件分岐が正しく行われることをWebブラウザにメッセージを表示して確認してみましょう。
ソース・フォルダー: myproj_intro/ch09
パッケージ: ifStatement2.php
アクセスURL:http://localhost/myproj_intro/ch09/ifStatement2.php
ifStatement2.php
$age=20で実行した場合(ifブロック処理)
$age=19で実行した場合(elseブロック処理)
このプログラムは前項のプログラムと違いif文にelseブロックが追加されています。変数$ageの値がifブロックの条件式を満たさない場合でも、メッセージが表示されるようになっています。
7行目で変数$ageの値に20を設定し、8行目はコメントで$ageの値に19を設定する処理を記述しています。
if-else文のifブロックの処理を行わせたいときはそのまま実行し、elseブロックの処理を行いたい時は8行目のコメントを外して実行する必要があります。
10~16行目がif-else文になります。条件式は$ageの値が20以上の場合、ifブロックの処理で「XX歳以上は成人です。」と画面にメッセージを出力します。そして$ageの値が20以上でない場合、elseブロックの処理で「XX歳以下はまだ未成年です。」と画面にメッセージを出力します。
図 9.4.2: if-else各ブロックを通った際のフローチャート
2つの実行結果から確認できるように、変数$ageの値が20以上であればifブロックの処理を行い、そうでなければ(20より小さい)elseブロックの処理を行うことが確認できました。
if文にelse文の記述を加えた「if-else文」は、条件式を満たした場合とそうでなかった場合で別々の処理を行わせることができるようになります。else文は必ず記述しなければいけないものではないので、行いたい処理で判断して追加するようにしください。
次の節ではif文を発展させたif-elseif-else文について学習していきます。