我有一个像 for 循环
for ($x=1; $x<=5; $x++){
($x == 3)? continue : true;
//some code here
}
现在在执行时我收到错误
PHP 解析错误:语法错误,意外的"继续"(T_CONTINUE(/var/www/html/all.php 在第 21 行
现在,这给我留下了两个问题:
我可以在短 if 语句中使用继续关键字吗?
对于短 if 的 else 部分,可以使用像 true 或 false 这样的二进制值吗,如果不是,那么如果我对 else 部分无事可做,我如何使用 short if 语句。
continue
是一个语句(如for
或if
(,必须独立出现。它不能用作表达式的一部分。部分原因是continue
不返回值,但在表达式中,每个子表达式都必须生成某个值,因此整个表达式会产生一个值。这就是语句和表达式之间的区别。
cond ? a : b
表示使用值a
如果cond
为真,则使用值b
。如果a
是continue
,则没有价值。
true
确实会产生一个值(true
(,所以是的,它可以用作表达式的一部分。
你不能在短 if 语句中使用continue
。短 if 语句用于返回值,如下所示
$val = $bool ? $one : $two;
现在,$val
将具有$one
的值或$two
的值,具体取决于$bool
的真值。
continue
不是值,因此不能在短 if 语句中使用。对此操作使用正常的 if 语句。
在这种情况下,我会这样做:
for ($x=1; $x<=5; $x++){
if($x == 3) continue;
//some code here
}
您可以在 if 语句中使用 continue 关键字;(根据 PHP 文档(
<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
print "$in";
}
?>