輸出大段 HTML、JavaScript、SQL 或多行字串時,傳統雙引號/單引號字串需要大量跳脫字元(\", \', \n),極難閱讀維護。PHP 的 Heredoc 與 Nowdoc 定界符讓你「所見即所得」地輸出多行內容。
<<<標識符
內容行 1
內容行 2
...
標識符;
EOF, HTML, SQL),開頭與結尾必須完全一致。Parse error: syntax error, unexpected $end。$var, {$var}, {$obj->prop})。<?php
$name = 'Kitty';
echo <<<EOF
<table height="20">
<tr><td>
{$name}<br/>
<script>
var p = 'hello world';
document.writeln(p);
</script>
</td></tr>
</table>
EOF;
?>
<?php echo $var ?> 會導致語法錯誤,直接寫 {$var} 即可。{$var} 包裹,避免 $varname 被誤判為 $var + name。單引號版 Heredoc:不解析變數,適合輸出包含 $ 符號的程式碼範例。
<<<'標識符'
內容不解析變數 $var
標識符;
?> ... <?php),可利用編輯器語法高亮。htmlspecialchars() 防 XSS。