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

Nil*_*esh 4 php conditional-operator

我有一个for循环

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

现在执行我得到错误

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

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

  1. 我可以在short if语句中使用continue key word吗?

  2. 对于short if的else部分,可以使用像true或false这样的二进制值,如果没有,那么如果我对else部分无关,我怎么能使用short if语句.

dec*_*eze 7

continue是一个声明(如for,或if),必须独立出现.它不能用作表达式的一部分.部分原因continue是因为不返回值,但在表达式中,每个子表达式都必须产生一些值,因此整个表达式会产生一个值.这是语句和表达式之间的区别.

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

true确实产生了一个值(true),所以是的,它可以用作表达式的一部分.