PHP(v 4.3和5.3)缺失; 继续使用打印但不适用于echo

Har*_*dja 2 php continue echo

我正在使用PHP的低版本v4.3和v5.3测试代码,这是一些代码,在没有分号的情况下继续.它的作品和奇怪的输出.

for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    print "$i\n";
}
//Output: 2 its strange 
Run Code Online (Sandbox Code Playgroud)

echo抛出错误Parse error: syntax error, unexpected 'echo' (T_ECHO)

for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    echo "$i\n";
}
//Output:  Parse error: syntax error, unexpected 'echo' (T_ECHO)
Run Code Online (Sandbox Code Playgroud)

dec*_*eze 5

continue语句接受一个参数,因此您可以在其后添加更多表达式:

continue <foo>;
Run Code Online (Sandbox Code Playgroud)

print是一个表达式,可以用作其他语句的一部分,因此continue print();是有效的语法.这也是2输出的原因,单个语句continue print $i;正在执行时$i == 2.

echo是一个语句,不能用作其他表达式的一部分,<anything> echo是无效的语法.