为什么两个语句终止符不会抛出语法错误?


Why do two statement terminators not throw a syntax error?

我注意到这段代码:

$li = "Hello World";;

为什么PHP没有抛出语法错误,即使有两个分号?PHP的类型真的这么松散吗?

丑陋。

解析器没有空白的概念,所以这相当于:

$li = "Hello World";
;

这当然没问题,因为空语句是有效的语法。(不,这并不难看,除非你打错了字。而且错别字总是很难看。虽然我同意,PHP是非常混乱的