if文の文法によるelseif

elseif という初歩的なところでつまづいたのでメモ。

下記の場合、elseif の else と if の間に半角スペースが入ろうが入らまいが動作します。

elseif と else if は同じであるとみなされます。

if(){
  処理
}elseif(){  // 動作可
  処理
}else if(){  // 動作可
  処理
}else{
  処理
}

しかし、if 文には別の書き方があります。

if():
  処理
elseif():  // 動作可
  処理
else if():  // 動作不可
  処理
else():
  処理
endif;

この場合、else と if の間に半角スペースを入れてはいけないと厳密に決められており、半角スペースが入っていると動きません。

この書き方を記していたサイト様は半角スペースが入っており、自分も普段から半角スペースを入れる派(入れる派と入れない派で争いがあるらしいです)だったので何も躊躇いませんでした。

そして動かなくなり、検索をかけたら php の本家サイトがヒットし、大変丁寧に間違った記述として紹介されていました。

こんなことばっかやってるから、いつまでもへたれプログラマなんですよね・・・


コメントを残す