是否可以在if语句中使用heredoc?

时间:2009-11-21 05:21:12

标签: php

是否有可能并且在php中的if语句中使用heredoc进行编码是否正确?

if($selection!='')
{
    $price=getselection($selection,$getprice[$selection]);
    if ($selection<8)
    {
        print 'Please enter the  amount<br />';
        print '<form action="" method="post"><input type="text" name="money1" value="'.$money1.'">';
        print '<input type="text" name="money2" value="'.$money2.'">';
        print '<input type="text" name="money3" value="'.$money3.'"><input type="submit">';
        print '<input type="hidden" name="selection" value="'.$selection.'"';
        print '</form><br>';
            if (($money1!='')&&($money2!='')&&($money3!==''))
            {
                $total=$money1+$money2+$money3;
                $money=getmoney($total);
                $change=getchange($total,$price);
            }
        }
    }
echo '</pre>';

我试图避免摆脱PHP代码,跳进html然后再回到php,我只是想保持PHP脚本上的一切;另外,使用多个打印件很麻烦,谢谢你没有燃烧。

2 个答案:

答案 0 :(得分:5)

喜欢这个吗?

if (conditional)
{
  $foo = <<<html
    <tag></tag>
    <tag></tag>
    <tag></tag>
    <tag></tag>
    <tag></tag>
html;
}

我不知道heredoc'不会起作用的任何情况。只需要注意确保heredoc的结束语句没有前导字符。在我的例子中,html关闭了heredoc并且绝对没有包含空格的前导字符。

答案 1 :(得分:0)

是的,您可以在if语句中使用heredoc。