Shorthand 如果继续

Shorthand if with continue

我真的很喜欢使用 PHP 的 shorthand if,但是当尝试将它与 continue 命令一起使用时,我的 IDE 标记了它作为错误(语法错误,意外 continue)。试图找出原因,我 运行 在我的浏览器中(使用下面的代码),但它没有给我任何错误。

<?php
ini_set('display_errors', 1); 
error_reporting(E_ALL);

echo 'test<br /><br />';

foreach(range(1,10) as $i) {
    $i == '6' ? continue : '';
    echo $i.'<br />';
}
?>

这只是不输出任何东西。但是,如果我注释掉其中包含 continue 的行,它会按预期工作。

我到底错过了什么?

您不能使用三元运算符来执行此操作。

按以下方式更改行:

if ($i == 6) continue ;

这种简写符号是在您设置变量的过程中出现的。那么你接下来要做的是

$i = continue;

我猜你可以这样触发继续:

$i();

但这不是你想要的。

另外你不应该在循环中修改迭代器!

所以只需使用

if ($whatever) continue;