2010-10-27 3 views
1

очень простой вопрос. Lol я смущен, чтобы спросить об этой причине. Я обычно очень хорошо разбираюсь в php, но каковы способы отображения html внутри php? например:PHP Print and Echo HTML

 

<? if($flag): ?> 
    <div>This will show is $flag is true </div> 
<? endif; ?> 
 

ИЛИ

 

<? 
    if($flag) 
    echo '<div>This will show is $flag is true </div>'; 
?> 
 

Я знаю, что есть, по крайней мере, 2 других способов я просто не могу вспомнить их атм ... Помощь в опр. оценил заранее !! = D

+0

Вы должны использовать одинарные кавычки ('' ') с эхом. Двойные кавычки ('' ') интерпретируются по-разному, и PHP заменит' $ flag' значением '$ flag'. Используйте одинарные кавычки, если вы хотите, чтобы такое же поведение, как в первом примере. – jwueller

+0

спасибо, что неуловимые сделали изменения –

+1

[Все, что вы когда-либо хотели знать о строках, но боялись спросить] (http://uk2.php.net/manual/en/language.types.string.php «Руководство по PHP для строк») – Gordon

ответ

2

Вот как heredoc может быть использован:

if($flag) 
{ 
    echo <<<HTML 
     <div>This will show if \$flag is true </div> 
HTML; 

} 

Если вы не хотите переменной интерполяции, вы должны избежать возможных имён переменных, как я выше. Кроме того, вы можете использовать nowdoc с PHP 5.3 года:

if($flag) 
{ 
    echo <<<'HTML' 
     <div>This will show if $flag is true </div> 
HTML; 

} 
+0

ДА! один я искал! танков человек :) –

0

PHP также имеет nowdoc синтаксис, который работает как heredoc, но похожи на одинарные кавычки строки, эти Doc блоки не получить разобран.