結束標識符必須從行的第一列開始。同樣,標識符也必須遵循 PHP 中其它任何標簽的命名規則:只能包含字母數字下劃線,而且必須以下劃線或非數字字符開始。
警告
很重要的一點必須指出,結束標識符所在的行不能包含任何其它字符,可能除了一個分號(;)之外。這尤其意味著該標識符不能被縮進,而且在分號之前和之後都不能有任何空格或制表符。同樣重要的是要意識到在結束標識符之前的第一個字符必須是你的操作系統中定義的換行符。例如在 Macintosh 系統中是 \r。
如果破壞了這條規則使得結束標識符不“干淨”,則它不會被視為結束標識符,PHP 將繼續尋找下去。如果在這種情況下找不到合適的結束標識符,將會導致一個在腳本最後一行出現的語法錯誤。
不能用定界符語法初始化類成員。用其它字符串語法替代。 例子 11-3. 非法的例子
PHP代碼
<?php
class foo {
public $bar = <<<EOT
bar
EOT;
}
?>
定界符文本表現的就和雙引號字符串一樣,只是沒有雙引號。這意味著在定界符文本中不需要轉義引號,不過仍然可以用以上列出來的轉義代碼。變量會被展開,但當在定界符文本中表達復雜變量時和字符串一樣同樣也要注意。 例子 11-4. 定界符字符串例子
PHP代碼
<?php
$str = <<<EOT
Example of string
spanning multiple lines
using heredoc syntax.
EOT;
/* More complex example, with variables. */
class foo
{
var $foo;
var $bar;
function foo()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
}
$foo = new foo();
$name = 'MyName';
echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>
注: 定界符支持是 PHP 4 中加入的。
如何在php中輸出html代碼(EOT)
PHP代碼
<?php
echo <<< EOT
<table width=80% border="2" cellpadding="3" cellspacing="0" bordercolor="#808080">
<tr bgcolor="#84A9E1">
<td align="center">ClassID</td>
<td align="center">stuno</td>
<td align="center">學生姓名</td>
<td align="center">家長姓名</td>
<td align="center">家長手機號</td>
</tr>
EOT;
?>