我使用heredoc语法填充一些内容以供输出。
在准备这些内容时,我需要检查一些条件,以决定是否添加它们。
虽然我尝试过,但它显示错误..
echo <<<END_HTML
<div class="menu_form_body">
<table style="font-family:arial; font-size:12px; color:#ffffff;">
<tr>
<td colspan="2" align="center"><center><b>{$title}</b></center></td>
</tr>
<tr>
<td>{$filter[$key]['street']}<br/>
{$filter[$key]['city']}, {$filter[$key]['state']}<br/>
{$filter[$key]['zip']}<br/>
</td>
<td nowrap>{$filter[$key]['phone']}<br/>
{$filter[$key]['email']} // here i need to check for some condition
</td>
</tr>
END_HTML;
所以我试过
....
<td nowrap>{$filter[$key]['phone']}<br/>
END_HTML;
if($filter[$key]['display_email']!='No'){
echo <<<END_HTML
{$filter[$key]['email']}
END_HTML;
}
echo <<<END_HTML
....
...
END_HTML;
可能是什么问题?
答案 0 :(得分:2)
我甚至不确定这是否可能在heredoc声明中。但除此之外,它只是简单的丑陋和难以理解。你不想这样做。
为什么你的heredoc需要一个条件?您可以在执行heredoc语句之前执行条件评估。
$condition = output condition $filter[$key]['email']
echo <<<END_HTML
{$condition}
END_HTML;
答案 1 :(得分:0)
确保没有你的END_HTML;语句缩进。
另外,为什么你必须使用heredoc呢?为什么不这样做:
if($filter[$key]['display_email']!='No'){
echo "{$filter[$key]["email"]}";
}