我今天回答了一个question有一个简单的解决方案,但我还没理解为什么PHP解释器没有抛出语法错误。所以我的问题很简单:
为什么下面的陈述被认为具有有效的语法?
SomeIdentifier:;
AnythingGoesApparently:;
ThisCanGoOnAndOn:;
更是如此,因为这些标识符没有在任何地方定义。
据我所知,冒号:
仅用作两个运算符的一部分:The Scope Resolution Operator,The Ternary Operator,但不能单独使用。它也用在Alternative syntax for control structures中。但是这些都不符合这种情况,所以这就像疯了一样困扰我。
答案 0 :(得分:6)
我相信这些会被解释为goto
标签。
例如:
$x = 0;
goto ThisIsBad;
$x++;
ThisIsBad:
$x += 2;
echo $x;
输出:2