PHP 短 if 语句,带有继续关键字并省略 else 部分



我有一个像 for 循环

for ($x=1; $x<=5; $x++){
($x == 3)? continue : true;
//some code here
}

现在在执行时我收到错误

PHP 解析错误:语法错误,意外的"继续"(T_CONTINUE(/var/www/html/all.php 在第 21 行

现在,这给我留下了两个问题:

  1. 我可以在短 if 语句中使用继续关键字吗?

  2. 对于短 if 的 else 部分,
  3. 可以使用像 true 或 false 这样的二进制值吗,如果不是,那么如果我对 else 部分无事可做,我如何使用 short if 语句。

continue是一个语句(如forif(,必须独立出现。它不能用作表达式的一部分。部分原因是continue返回值,但在表达式中,每个子表达式都必须生成某个值,因此整个表达式会产生一个值。这就是语句和表达式之间的区别。

cond ? a : b表示使用值a如果cond为真,则使用值b。如果acontinue,则没有价值。

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";
}
?>

相关内容

最新更新