对“意外 T_ECHO”进行故障排除在三元运算符语句中
($DAO->get_num_rows() == 1) ? echo("is") : echo("are");
这似乎没有按预期为我工作,我收到错误“意外的 T_ECHO”。我希望它能回应“是”或“是”。
我已经尝试过,条件周围没有括号。我是否无法以这种方式使用三元运算符?
$DAO->get_num_rows()
返回一个整数值。
($DAO->get_num_rows() == 1) ? echo("is") : echo("are");
This dose not seem to be working for me as intended, I get an error "Unexpected T_ECHO". I am expecting it to echo either 'is' or 'are'.
I have tried it without the brackets around the conditional. Am I just not able to use a ternary operator in this way?
The $DAO->get_num_rows()
returns an integer value.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
三元运算符与 if-then 不同。你应该写它
返回值在第二或第三位置。它不会执行第二或第三位置的语句。
The Ternary operator is not identical to an if-then. You should have written it
It returns the value in the 2nd or 3rd position. It does NOT execute the statement in the 2nd or 3rd position.
三元运算符应该产生一个值——而不是回显它。
在这里,您可能想要这个:
如果您想使用两个
echo
,则必须使用if
/else
块:它的作用与使用三元运算符的代码的第一部分——只是它有点长。
The ternary operator should result in a value -- and not echo it.
Here, you probably want this :
If you want to use two
echo
, you'll have to work with anif
/else
block :Which will do the same thing as the first portion of code using the ternary operator -- except it's a bit longer.
在评估条件后,三元运算符返回两个值之一。它不应该按照您正在使用的方式使用。
这应该有效:
The ternary operator returns one of two values after evaluating the conditions. It is not supposed to be used the way you are using it.
This should work:
你可以使用
echo ($DAO->get_num_rows() == 1) 吗? “是”:“是”;
U can use
echo ($DAO->get_num_rows() == 1) ? "is" : "are";