アプリ版:「スタンプのみでお礼する」機能のリリースについて

これで動作していたものに
$body .= "<img src=\"./img/a.png\" width=\"40\" height=\"40\" alt=\"画像\">\n";


この↓ ささやかなIF文を加えたら
" . if($col["var"] != "1"){ echo " style=\"opacity: 0.2;\""; } . "


Parse error: syntax error, unexpected T_IF in D:\tmp\index.php on line 173

とのエラーになり、原因がどうしても突き止められませんが、私は何の誤解をしておりますdしょうか。

$body .= "<img src=\"./img/a.png\" width=\"40\" height=\"40\" alt=\"画像\"" . if($col["var"] != "1"){ echo " style=\"opacity: 0.2;\""; } . ">\n";

A 回答 (2件)

PHP における if は「文」なので「式」の中に書けません


文(セミコロンで終わる一行)として別に分けて変数に入れましょう

if (...) $style_atr = ...;
else $style_atr = "";
$body .= "...{$style_atr}...";

もしくは、三項演算子に変形して式にしましょう

$body .= "aaa" . (xxx? "yyy": "") . "bbb";
    • good
    • 0
この回答へのお礼

詳しくご教示いただきありがとうございます。手元では仰せのように分けて変数に入れましたが、三項演算子にすればスッキリ書けそうですね。

お礼日時:2021/10/25 12:45

if が演算子ではない, とか.



そういう書き方をどこで見た?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。IF文ですとダメだったのですね、クオーテーションのつけ方などの問題だと勘違いしました。

お礼日時:2021/10/25 12:43

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