PHPは、いくつかの制御構造、つまり、if、 while、for、 foreach、switch に関する別の構文を提供します。 各構造において開き波括弧をコロン(:)、閉じ波括弧をそれぞれ endif;,endwhile;, endfor;,endforeach;, endswitch;に変更するのが 別の構文の基本的な形式となります。
if
while
for
foreach
switch
endif;
endwhile;
endfor;
endforeach;
endswitch;
<?php if ($a == 5): ?> Aは5に等しい <?php endif; ?>
上の例では、HTML ブロック "Aは5に等しい" はこの構文で 書かれた if 文の内部で入れ子になっています。 この HTML ブロックは、$a が 5 の場合にのみ表示されます。
この方法は、else や elseif にも同様に適用することができます。 次の例は、この形式で if 文を elseif および else とともに使用しています。
else
elseif
<?php if ($a == 5): echo "aは5に等しい"; echo "..."; elseif ($a == 6): echo "aは6に等しい"; echo "!!!"; else: echo "aは5でも6でもない"; endif; ?>
注意: 同じブロック内で別の構文を混ぜて使うことはできません。
注意:
同じブロック内で別の構文を混ぜて使うことはできません。
switch 文と最初の case の間で何か (空白文字も含む) を出力すると、構文エラーになります。 たとえば、以下のコードは無効です。
case
<?php switch ($foo): ?> <?php case 1: ?> ... <?php endswitch; ?>
一方、以下のコードは有効です。というのも、 switch 文の行末の改行文字は終了タグ ?> の一部と見なされるため、 switch と case の間では何も出力されないからです。
?>
while、 for、および if に、より多くの例があります。