(PHP 4, PHP 5, PHP 7, PHP 8)
PHP 提供了一些流程控制的替代語法,包括
if,while,for,foreach
和 switch。替代語法的基本形式是把左花括號({)換成冒號(:),把右花括號(})分別換成
endif;,endwhile;,endfor;,endforeach;
以及 endswitch;。
<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>
在上面的例子中,HTML 內容“A is equal to 5”用替代語法嵌套在
if 語句中。該 HTML 的內容僅在
$a 等于 5 時顯示。
替代語法同樣可以用在 else 和
elseif 中。下面是一個包括
elseif 和 else
的 if 結構用替代語法格式寫的例子:
<?php
if ($a == 5):
echo "a equals 5";
echo "...";
elseif ($a == 6):
echo "a equals 6";
echo "!!!";
else:
echo "a is neither 5 nor 6";
endif;
?>
注意:
不支持在同一個控制塊內混合使用兩種語法。
switch 和第一個 case 之間的任何輸出(含空格)將導致語法錯誤。例如,這樣是無效的:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>
而這樣是有效的,因為 switch 之后的換行符被認為是結束標記 ?> 的一部分,所以在 switch 和 case 之間不能有任何輸出:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>