PHP Conference Japan 2024

语句分隔符

与 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 条注释

Krishna Srikanth
18 年前
不要误解

<?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.
M1001
2 年前
您还可以在一行中编写多个语句,只需用分号分隔即可,例如

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

<?= "Hello" ?>
Jello

将输出,

HelloJello

这意味着 ?> 标记中没有隐式换行符,但是可以简单地将其添加到代码中,例如,

<?= "Hello" ?>

Jello

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