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