为什么分号在php的最后一条语句中是可选的?

2021/01/07 04:41 · php ·  · 0评论

当我在编辑器中运行以下代码时,我感到很惊讶:

<?php

    echo "hello";
    echo "world"

?>

可以很容易地看出,;代码中缺少了分号(),但是仍然可以使用!

;如何工作的,为什么{0,1}在这里?

因为close标记表示分号。您可以在手册中的“指令分离”下阅读更多信息

从那里引用:

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

一个证明这一点的例子:

1.脚本末尾缺少分号,但带有结束标记:

<?php
    echo "1";
    echo "2"
          //^ semicolon missing
?>

输出:

12

2.脚本末尾缺少分号,但没有结束标记:

<?php
    echo "1";
    echo "2"
          //^ semicolon missing (closing tag missing)

输出:

解析错误:语法错误,文件结尾意外,期望为','或';'

因为分号告诉解析器您已经到达该指令的末尾。它让它知道下一段文本是一条新指令。但是,结束标记告诉我们,我们位于所有说明的末尾,您无需解析其他任何内容。因为我们不需要解析其他任何内容,所以我们不需要分号结尾,这是隐含的。

那是因为分号不是终止语句的符号。

之所以这样,是因为它几乎总是在语句末尾发生。

注意几乎总是...可能是一个提示。

为了摆脱不对称,我们可以说它总是在语句之间!

这直接导致了分号的真正含义:它不终止语句-分隔语句

显然,在最后一个语句之后,没有任何可分开的。


(为了防止相关的琐碎错误,大多数语言都允许在分块的末尾使用分号。可以通过丢弃分号,或者更明确地说,通过在分号后插入不执行任何操作的命令来完成此操作。)

本文地址:http://php.askforanswer.com/weishenmefenhaozaiphpdezuihouyitiaoyujuzhongshikexuande.html
文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!