2011-03-01 91 views
0

我使用heredoc语法来填充某些内容以进行输出。如何将条件检查与php 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

你真的想用heredoc做到这一点? – Eduard7 2011-03-01 12:28:33

+0

@ eduard7其实它是一个由别人创建的代码..我想编辑它。这是一个漫长的内容,所以我继续编辑现有的格式 – Vijay 2011-03-01 12:31:46

回答

2

我甚至不确定这是否可能在heredoc语句中。但除此之外,它只是简单的丑陋和不可读的。你不想这样做。

为什么你需要一个条件在你的heredoc?在执行heredoc语句之前,您可以执行条件评估。

$condition = output condition $filter[$key]['email'] 

echo <<<END_HTML 
    {$condition} 
END_HTML; 
0

确保您的END_HTML;语句是缩进的。

此外,为什么你必须为此使用heredoc?为什么不只是这样做:

if($filter[$key]['display_email']!='No'){ 
echo "{$filter[$key]["email"]}"; 
} 
相关问题