为什么不能在表达式中组合'continue'关键字?

gre*_*emo 2 php loops

为什么这不可能完成?

foreach($arr as $k => $v)
{
   if($condition) { $obj->myMethod() && continue; }
}
Run Code Online (Sandbox Code Playgroud)

$obj->myMethod()获得评估之后,continue评估(执行)关键字,导致跳过当前迭代.

编辑:我问这个是因为:

if($error) { $log->fatal('Something weird happened.') && continue; }
Run Code Online (Sandbox Code Playgroud)

是单行和不言自明的.

SLa*_*aks 9

continue是一种陈述而不是表达.
从来没有twain会见.

您不能在表达式中放置语句.(echo false && continue;打印什么?)

相反,使用一个if可以包含语句的.