我使用定界符建立一個簡單的文本郵件,但由於某些原因,我讓周圍奇怪的結果我if/else條件:的if/else與預期定界符行爲不
<?php
$message = <<<EOD
Hi Username
EOD;
echo $message.'<hr>';
if(true) {
$message .= <<<EOD
Thanks for logging in
EOD;
} else {
$message .= <<<EOD
Thanks for signing up.
EOD;
}
echo $message.'<hr>';
$message .= <<<EOD
Good Bye
EOD;
echo '<pre>'.$message.'</pre>';
輸出:
Hi UsernameThanks for logging in
EOD;
} else {
Hi Username .= <<<EOD
Thanks for signing up. Good Bye
出於某種原因,它輸出我的PHP - 如果我改變爲真,我只是得到Hi UsernameGood Bye
這更令人費解。
這只是我的意見,但我認爲這不是一個很好的heredoc使用,你會更好使用雙引號 – Ibu
一切都包裝在PHP標籤?你顯示瀏覽器的源代碼是什麼? –
在文件的第一個字符列上肯定是'EOD;'?它不能縮進。 – Treffynnon