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

用户名

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

<?php

    echo "hello";
    echo "world"

?>

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

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

里齐尔123

因为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)

输出:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

只选择JOIN语句中的最后一条记录

SQL:为什么在一条语句中计算两个表的计数慢?

为什么我不能在一条语句中获得BST的高度(Java)

PHP:->在一条语句中多次出现是什么意思?

为什么字典似乎在函数中的最后一条语句和函数调用后的第一条语句之间发生变化?

为什么return语句后的分号是可选的?

是否可以在同一条件语句中使用可选绑定中的变量?

PHP-在if语句中声明变量,并在同一条语句中使用它

为什么SqlDataReader只填充最后一条记录

为什么我不能在for循环的第一条语句中包含2个变量

为什么函数在C中返回一条语句?

为什么下一条语句在yield之前执行?

当while循环中的if条件变为false时,为什么我的函数不输出最后一条语句?

if语句内仅执行最后一条语句

php在一条语句中通过未知索引获取数组的值

添加 method() 作为更新中的最后一条语句与使用 LateUpdate() 有什么区别?

最后一条记录,然后从SQL语句中删除文本,并替换为空白或其他字符

为什么Javascript Google docs应用脚本try语句仅运行一条语句,如果

在同一条语句中添加列和索引

一条语句中有多个游标

一条语句中的多个isin查询

在Groovy中的一条SQL语句中插入多行

在一条语句中从多个表中删除

在一条语句中添加多个约束

无法在一条语句中执行多个更新查询

同一条语句中的SQL属性变体

MySQL更新并在一条语句中选择

同一条语句中的多个for-of循环(Javascript)

在一条语句中设置多个事件处理程序