是否可以将条件逻辑放入EOD字符串中?

$str = <<<EOD

<table>
    <tr>
        <td>
            if ( !empty($var1) ) {
                {$var1}
            } else {
                {$var2}
            }
        </td>
    </tr>
</table>

这对我不起作用,看起来也不起作用,但我想我应该试试。
另外,是EOD还是EOT?两者似乎都有效。

最佳答案

不,不能在heredoc中使用条件。
另外,是EOD还是EOT
只要开始和结束字符串匹配,就可以使用任何内容:

 $x = <<<THOMAS
 Pick a string, any string
 THOMAS;

医生contains several examples demonstrating this
关于如何最好地实现您提供的示例,这将是我的第一个倾向:
$td = !empty($var1) ? $var1 : $var2;
$str = <<<EOD
<table>
    <tr>
        <td>
            {$td}
        </td>
    </tr>
</table>
EOD;

10-04 20:34