($DAO->get_num_rows() == 1) ? echo("is") : echo("are");
これは意図したとおりに機能していないようで、「予期しない T_ECHO」というエラーが表示されます。「is」または「are」のいずれかがエコーされることを期待しています。
条件を括弧なしで試してみました。このように三項演算子を使用できないのでしょうか?
は$DAO->get_num_rows()
整数値を返します。
($DAO->get_num_rows() == 1) ? echo("is") : echo("are");
これは意図したとおりに機能していないようで、「予期しない T_ECHO」というエラーが表示されます。「is」または「are」のいずれかがエコーされることを期待しています。
条件を括弧なしで試してみました。このように三項演算子を使用できないのでしょうか?
は$DAO->get_num_rows()
整数値を返します。
三項演算子は、if-then と同じではありません。あなたが書いたはずです
echo ($DAO->get_num_rows() == 1) ? "is" : "are";
2番目または 3 番目の位置の値を返します。2 番目または 3 番目の位置にあるステートメントは実行しません。
三項演算子は値を返す必要があり、それをエコーしません。
ここで、おそらくこれが必要です:
echo ($DAO->get_num_rows() == 1) ? "is" : "are";
two を使用する場合echo
は、if
/else
ブロックを使用する必要があります。
if ($DAO->get_num_rows() == 1) {
echo "is";
} else {
echo "are"
}
これは、三項演算子を使用したコードの最初の部分と同じことを行いますが、少し長くなります。
三項演算子は、条件を評価した後、2 つの値のいずれかを返します。あなたが使用している方法で使用することは想定されていません。
これはうまくいくはずです:
echo ($DAO->get_num_rows() == 1 ? "is" : "are");
使えます
エコー ($DAO->get_num_rows() == 1) ? 「ある」:「ある」;