指令分隔

与 C 或 Perl 一样,PHP 要求指令在每个语句的末尾用分号终止。PHP 代码块的结束标记会自动隐含分号;您不需要在 PHP 代码块的最后一行使用分号来终止。代码块的结束标记将包含紧随其后的换行符(如果有)。

示例 #1 显示结束标记包含尾随换行符的示例

<?php echo "Some text"; ?>
无换行符
<?= "But newline now" ?>

上面的示例将输出

Some textNo newline
But newline now

进入和退出 PHP 解析器的示例

<?php
echo 'This is a test';
?>

<?php echo 'This is a test' ?>

<?php echo 'We omitted the last closing tag';

注意:

文件末尾 PHP 代码块的结束标记是可选的,在某些情况下省略它在使用 includerequire 时很有用,这样就不会在文件末尾出现不需要的空白,并且您仍然可以稍后将标头添加到响应中。如果您使用输出缓冲,并且不想在包含文件生成的部件末尾看到添加的不必要的空白,这也很方便。

添加说明

用户贡献说明 3 条说明

57
Krishna Srikanth
17 年前
不要误解

<?php echo 'Ending tag excluded';

with

<?php echo 'Ending tag excluded';
<
p>But html is still visible</p>

The second one would give error. Exclude ?> if you no more html to write after the code.
1
M1001
2 年前
您也可以在一行中编写多个语句,只需用分号隔开,例如

<?php
echo "a"; echo "b"; echo "c";
#The output will be "abc" with no errors
?>
0
moonlander12341234 at gmail dot com
4 个月前
一位来自 stack overflow 的用户对尾随换行符有一个很好的解释,简单来说,

<?= "Hello" ?>
Jello

将输出:

HelloJello

这意味着来自 ?> 标记的隐式换行符不存在,但是您可以简单地将其添加到代码中,例如:

<?= "Hello" ?>

Jello

结束标记后的空格充当换行符
To Top