【问题标题】:Shorthand if with continue [duplicate]速记如果继续[重复]
【发布时间】:2018-07-10 07:21:15
【问题描述】:

我真的很喜欢使用 PHP 的简写 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 的行,它会按预期工作。

我在这里错过了什么?

【问题讨论】:

  • 三元运算符不是“如果”的简写!它执行有条件的赋值

标签: php syntax conditional-operator continue


【解决方案1】:

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

通过以下方式更改您的行:

if ($i == 6) continue ;

【讨论】:

    【解决方案2】:

    在您设置变量期间会出现这种简写符号。那么你会做的是

    $i = continue;
    

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

    $i();
    

    但这不是你想要的。

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

    所以只需使用

    if ($whatever) continue;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-25
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多