PHPの "if():" タイプの注意点
PHPでのif文は3通りの書き方がある。 1つ目は、 if ( $check ) { echo 'Good!'; } else { echo 'Bad.'; } の様に中括弧を使う方法。 2つ目は、 <?php if ( $check ) echo 'Good!'; else echo 'Bad.'; の様に括弧を省略する方法。この場合 有効な行は if の次の行の1行だけ という事に注意しましょう。 そして3つ目が、 <?php if ( $check ) : echo 'Good!'; else : echo 'Bad.'; endif; の様に、 if(): 〜 endif; のパターン。 WordPress等ではお馴染みですね。開始と終わりがわかりやすいのでHTMLと混在したファイルなどでよく使用されます。 このパターンを使う場合注意点が 2つ あり、1つ目は、 else if : の様にelseとifを分割してはいけない、 という事。 2つ目は、 elseifをネストする場合、中のif文も if() : 形にしなければならない、 という事。 例えば、 <?php $a = true; $b = 5; $c = 'aaa'; if ($a) : if ($b == 5) echo 'OK'; elseif ($c == 'aaa') : echo 'aaa'; endif; この様な書き方は PHP Parse error: syntax error, unexpected ':' in /home/user/dev/tmp/test.php on line 8 と、エラー...