PHP如果条件语法错误
问题描述:
我有这些代码:PHP如果条件语法错误
<?php
$i=0;
while (true):
echo "test";
$i<4 ? $i++ : break;
endwhile;
?>
错误消息: 解析错误:语法错误,在C意想不到T_BREAK:\ XAMPP \ htdocs中\上线数据\的index.php 5
if语句存在语法错误,我真的可以弄清楚什么。任何人都可以帮忙。非常感谢。
答
三元运算符用于赋值或返回一个值。您不能将break
置于三元操作的else (:)
案例中。
// Assignment
$x = $i<4 ? $i : 0;
// For a value returned into a function argument $i or 0
do_something($i<4 ? $i : 0);
它不能用于含有一种语言结构,如你与break
做定期else
情况。相反,使用常规的if()
$i = 0;
while (true):
if ($i<4) {
$i++
}
else {
break;
}
endwhile;
答
的语法三元运算符是这样的:
你的榜样的问题是,break
不是一个表达式,但声明。如果你有一个表达式,你的语法可以工作,尽管它看起来很尴尬。无论如何,我会建议一个正常的if
。
当人们被告知'? :'是“就像if-else一样” – Esailija 2012-01-15 19:03:52