我可以在PHP EOD中使用条件逻辑吗?

时间:2012-08-29 16:53:29

标签: php

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

$str = <<<EOD

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

这对我来说不起作用,看起来它不会起作用,但我想我会被刺伤。

此外,是EOD还是EOT?两者似乎都有效。

1 个答案:

答案 0 :(得分:2)

没有。您无法在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;