結束標識符必須從行的第一列開始。同樣,標識符也必須遵循 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;
?>