電子書籍の厳選無料作品が豊富!

ものすごい初級の話でしたら失礼します。

<?php
$var1 = 1;
$body = "Result:" . ($var1 == 1) ? 'OK' : 'NG' . "<br>\r\n";
echo $body;
?>


$var1 = 1 なら、
Result:OK<br>

$var1 = 0 なら、
Result:NG<br>

と出力されることを期待しているのに、$var1が1でも0でも、「OK」としか表示されず、「Result:」や「<br>」も出力されないのですが、書き方の何がいけないのでしょうか・・・

A 回答 (1件)

演算子の優先順位ではないかと思います。


丸カッコでくくることで、
意図した演算になると思います。

$var1 = 0;
$body = "Result:" .( ($var1 == 1) ? 'OK' : 'NG' ). "<br>\r\n";
echo $body;
    • good
    • 0
この回答へのお礼

ありがとうございます、ご教示の通り()でくくることでばっちり動作するようになりました。大変助かりました。

お礼日時:2021/10/23 18:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!