php if条件语法错误

php if条件语法错误,php,syntax,if-statement,Php,Syntax,If Statement,我有以下代码: <?php $i=0; while (true): echo "test"; $i<4 ? $i++ : break; endwhile; ?> 错误消息: 分析错误:语法错误,第5行C:\xampp\htdocs\data\index.php中出现意外的T_中断 if条件有一个语法错误,我真的知道是什么。有人能帮忙吗。非常感谢。三元运算符用于赋值或返回值。在三元操作的情况下,不能在else中放置break // Assignment $x =

我有以下代码:

<?php 
$i=0;
while (true):
   echo "test";
   $i<4 ? $i++ : break;
endwhile; 
?>
错误消息: 分析错误:语法错误,第5行C:\xampp\htdocs\data\index.php中出现意外的T_中断


if条件有一个语法错误,我真的知道是什么。有人能帮忙吗。非常感谢。

三元运算符用于赋值或返回值。在三元操作的情况下,不能在else中放置break

// Assignment
$x = $i<4 ? $i : 0;
// For a value returned into a function argument $i or 0
do_something($i<4 ? $i : 0);

三元运算符用于赋值或返回值。在三元操作的情况下,不能在else中放置break

// Assignment
$x = $i<4 ? $i : 0;
// For a value returned into a function argument $i or 0
do_something($i<4 ? $i : 0);

三元运算符的语法如下所示:

ternary_expression ::= boolean_expression ? expression : expression

您的示例的问题在于break不是一个表达式,而是一个语句。如果你用一个表达式来代替,你的语法可以工作,尽管这看起来很尴尬。在任何情况下,我都建议使用正常的if。

三元运算符的语法如下:

ternary_expression ::= boolean_expression ? expression : expression

您的示例的问题在于break不是一个表达式,而是一个语句。如果你用一个表达式来代替,你的语法可以工作,尽管这看起来很尴尬。在任何情况下,我都建议使用正常的if。

这就是人们被告知的情况:就好像人们被告知这一点时会发生什么就像if-elseHope不介意编辑一样,if-else中有不一致的支撑。我认为使用三元表达式的返回值不是必须的。因此,它可以用作独立语句。希望您不介意编辑,您在if-else中使用了不一致的括号。我认为不必使用三元表达式的返回值。因此,它可以用作独立语句。