php 中(<<<eot)的用法
有時候我們需要在php輸出比較復(fù)雜的html文本,如果使用雙引號的話,文本里面有雙引號的
例:
<?php
while($rs=$db->fetch_array($news)){
echo <<<EOT
<li>
<a href="?{$rs[id]}">{$rs[title]}</a><img src="images/new.gif" alt=""><span>[{$rs[date]}]</span></li>
EOT; //注意,此處的EOT;必須在當(dāng)前行的最前,其前面不允許有任何字符
?>
從上面的例子可以看出<<<eot為開始標識,結(jié)束為eot; 中間引用變量則就為{變量} 這種方法通常用在生成靜態(tài)度頁面時,可以把此代碼寫在靜態(tài)文件中,然后然后用來調(diào)用即可
定界符
給字符串定界的方法使用定界符語法("<<<")。應(yīng)該在 <<< 之后提供一個標識符,然后是字符串,然后是同樣的標識符結(jié)束字符串。
結(jié)束標識符必須從行的第一列開始。同樣,標識符也必須遵循 PHP 中其它任何標簽的命名規(guī)則:只能包含字母數(shù)字下劃線,而且必須以下劃線或非數(shù)字字符開始。
舉個例子:
<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
?>
但要注意的是:
結(jié)束標識符所在的行不能包含任何其它字符,可能除了一個分號(;)之外。這尤其意味著該標識符不能被縮進,而且在分號之前和之后都不能有任何空格或制表符。同樣重要的是要意識到在結(jié)束標識符之前的第一個字符必須是你的操作系統(tǒng)中定義的換行符。例如在 Macintosh 系統(tǒng)中是 \r。 如果破壞了這條規(guī)則使得結(jié)束標識符不"干凈",則它不會被視為結(jié)束標識符,PHP 將繼續(xù)尋找下去。如果在這種情況下找不到合適的結(jié)束標識符,將會導(dǎo)致一個在腳本最后一行出現(xiàn)的語法錯誤。
如下:
print <<<eot
eot;
中間可以放置變量的,如果是數(shù)組變量也是可以的。
假如數(shù)組
$arrTest=array("abc","123");
在eot之間可以用以下方式置入變量
"{$arrTest[0]}"
]]>