この構文ではまず条件式1が評価されます。真だった場合にはすぐ下のブロック内の処理を実行して終了です。もし偽だった場合には条件式2を評価します。そして条件式2が真だった場合にはその下にあるブロック内の処理を行い、偽だった場合には次の条件式の評価を行います。最終的に全ての条件式が偽だった場合にelseの後に書かれたブロック内の処理を行います。
elseifは任意の数だけ記述することができます。注意点としては上の条件式から順に評価が行われ、条件式が真だった場合はその下の条件式の評価は行われないことです。
なおelseの部分は必要無ければ記述しなくても構いません。
実際には次のように記述します。