($DAO->get_num_rows() == 1) ? echo("is") : echo("are");
这个剂量似乎没有按预期为我工作,我收到一个错误“Unexpected T_ECHO”。我期待它呼应“是”或“是”。
我已经尝试过没有条件周围的括号。我只是不能以这种方式使用三元运算符吗?
返回一个整$DAO->get_num_rows()
数值。
($DAO->get_num_rows() == 1) ? echo("is") : echo("are");
这个剂量似乎没有按预期为我工作,我收到一个错误“Unexpected T_ECHO”。我期待它呼应“是”或“是”。
我已经尝试过没有条件周围的括号。我只是不能以这种方式使用三元运算符吗?
返回一个整$DAO->get_num_rows()
数值。
三元运算符与 if-then 不同。你应该写的
echo ($DAO->get_num_rows() == 1) ? "is" : "are";
它返回第二或第三位置的值。它不会在第二或第三位置执行语句。
三元运算符应该产生一个值——而不是回显它。
在这里,你可能想要这个:
echo ($DAO->get_num_rows() == 1) ? "is" : "are";
如果要使用两个echo
,则必须使用if
/else
块:
if ($DAO->get_num_rows() == 1) {
echo "is";
} else {
echo "are"
}
这将与使用三元运算符的第一部分代码做同样的事情——除了它有点长。
三元运算符在评估条件后返回两个值之一。它不应该以您使用它的方式使用。
这应该有效:
echo ($DAO->get_num_rows() == 1 ? "is" : "are");
你可以使用
回声 ($DAO->get_num_rows() == 1) ?“是”:“是”;