对三元运算符语句中的“意外T_ECHO”进行故障排除

2022-08-30 18:08:09
($DAO->get_num_rows() == 1) ? echo("is") : echo("are");

这个剂量似乎没有按预期为我工作,我得到一个错误“意外T_ECHO”。我希望它能呼应“是”或“是”。

我已经尝试过它没有条件周围的括号。我只是不能以这种方式使用三元运算符吗?

返回一个整数值。$DAO->get_num_rows()


答案 1

三元算子与 if-then 不同。你应该已经写了它

echo ($DAO->get_num_rows() == 1) ? "is" : "are";

返回第 2 或 3 位的值。它不会在第 2 或 3 位置执行语句


答案 2

三元运算符应生成一个值 ,而不是回显它。


在这里,你可能想要这个:

echo ($DAO->get_num_rows() == 1) ? "is" : "are";


如果你想使用两个,你必须使用一个/块:echoifelse

if ($DAO->get_num_rows() == 1) {
    echo "is";
} else {
    echo "are"
}

这将使用三元运算符执行与代码的第一部分相同的操作 - 除了它有点长。


推荐