($DAO->get_num_rows() == 1) ? echo("is") : echo("are");
該劑量對於我來說似乎沒有達到預期的效果,但出現「意外T_ECHO」錯誤。我期待它迴應「是」或「是」。三元運算符語句中的「意外的T_ECHO」故障排除
我試過了,沒有括號括住條件。我只是無法以這種方式使用三元操作符?
$DAO->get_num_rows()
返回一個整數值。
($DAO->get_num_rows() == 1) ? echo("is") : echo("are");
該劑量對於我來說似乎沒有達到預期的效果,但出現「意外T_ECHO」錯誤。我期待它迴應「是」或「是」。三元運算符語句中的「意外的T_ECHO」故障排除
我試過了,沒有括號括住條件。我只是無法以這種方式使用三元操作符?
$DAO->get_num_rows()
返回一個整數值。
三元運算符與if-then不完全相同。你應該寫它
echo ($DAO->get_num_rows() == 1) ? "is" : "are";
它返回在第二或第三位置的值。它不是在第二或第三位執行語句。
如果返回值,所以如果更換''通過它print'工作echo'? – Mageek 2012-07-07 16:07:00
@Mageek - 它「有效」?或者它不死?僅僅因爲它打印了某些東西並不意味着它完成了OP的任務。我的建議應該如此。 – MJB 2012-07-10 16:34:48
我想明白爲什麼'($ DAO-> get_num_rows()== 1)? print(「is」):print(「are」);'工作,但'($ DAO-> get_num_rows()== 1)?回聲(「是」):回聲(「是」);'不。 – Mageek 2012-07-10 16:58:26
U可以使用
回波($ DAO-> get_num_rows()== 1)? 「是」:「是」;
三元運算符應該產生一個值 - 而不是回顯它。
在這裏,你可能希望這樣的:
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");
考慮使用模板,從企業直接輸出未logig – 2010-04-23 12:37:08