2009-11-21 4 views
0

Возможно ли это, и это правильный способ кодирования с использованием heredoc внутри оператора if в php?Можно ли использовать heredoc внутри оператора if?

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 скрипт; кроме того, использование нескольких печатных изданий является беспорядочным, спасибо, что не пылали.

+1

Не было бы проще просто попробовать, а не задавать вопрос? –

+0

@Ben Shelock: Я действительно не понимаю, почему люди так не хотят просто что-то попробовать. Если он не работает после того, как вы попытаетесь, задайте вопрос. – MitMaro

ответ

5

Нравится?

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

Мне не известно о ситуации, когда heredoc «не будет работать». Просто всегда следите за тем, чтобы заключительная инструкция heredoc не имела ведущих персонажей. В моем примере html закрывает heredoc и не имеет абсолютно никаких символов, включая пробелы.

+0

Просто хотел отметить о 'html;' в самом начале строки. Общей ошибкой является попытка увязать ее с остальной частью кода. – MitMaro

+0

@MitMaro Отличная точка. Я отредактировал свой пост так же, как вы сделали свой комментарий. Это, вероятно, самые упущенные и разочаровывающие аспекты heredocs. –

0

Да, вы можете использовать heredocs внутри if операторов.

Смежные вопросы