最優(yōu)良人 » 定界符 http://www.dgkai.cn/blog 中山php|最優(yōu)網(wǎng)絡(luò) Mon, 13 May 2013 04:56:43 +0000 en hourly 1 http://wordpress.org/?v=3.1.4 PHP定界符EOT的用法 http://www.dgkai.cn/blog/view-151.html http://www.dgkai.cn/blog/view-151.html#comments Sat, 20 Aug 2011 06:54:57 +0000 lin http://www.dgkai.cn/blog/?p=151 定界符:
另一種給字符串定界的方法使用定界符語(yǔ)法("<<<")。應(yīng)該在 <<< 之后提供一個(gè)標(biāo)識(shí)符,然后是字符串,然后是同樣的標(biāo)識(shí)符結(jié)束字符串。
結(jié)束標(biāo)識(shí)符必須從行的第一列開(kāi)始。同樣,標(biāo)識(shí)符也必須遵循 PHP 中其它任何標(biāo)簽的命名規(guī)則:只能包含字母數(shù)字下劃線,而且必須以下劃線或非數(shù)字字符開(kāi)始。

php 中(<<<eot)的用法

有時(shí)候我們需要在php輸出比較復(fù)雜的html文本,如果使用雙引號(hào)的話(huà),文本里面有雙引號(hào)的

 

例:

<?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為開(kāi)始標(biāo)識(shí),結(jié)束為eot; 中間引用變量則就為{變量} 這種方法通常用在生成靜態(tài)度頁(yè)面時(shí),可以把此代碼寫(xiě)在靜態(tài)文件中,然后然后用來(lái)調(diào)用即可

定界符

給字符串定界的方法使用定界符語(yǔ)法("<<<")。應(yīng)該在 <<< 之后提供一個(gè)標(biāo)識(shí)符,然后是字符串,然后是同樣的標(biāo)識(shí)符結(jié)束字符串。

結(jié)束標(biāo)識(shí)符必須從行的第一列開(kāi)始。同樣,標(biāo)識(shí)符也必須遵循 PHP 中其它任何標(biāo)簽的命名規(guī)則:只能包含字母數(shù)字下劃線,而且必須以下劃線或非數(shù)字字符開(kāi)始。

舉個(gè)例子:

<?php

$str = <<<EOD

Example of string

spanning multiple lines

using heredoc syntax.

EOD;

?>

但要注意的是:

結(jié)束標(biāo)識(shí)符所在的行不能包含任何其它字符,可能除了一個(gè)分號(hào)(;)之外。這尤其意味著該標(biāo)識(shí)符不能被縮進(jìn),而且在分號(hào)之前和之后都不能有任何空格或制表符。同樣重要的是要意識(shí)到在結(jié)束標(biāo)識(shí)符之前的第一個(gè)字符必須是你的操作系統(tǒng)中定義的換行符。例如在 Macintosh 系統(tǒng)中是 \r。 如果破壞了這條規(guī)則使得結(jié)束標(biāo)識(shí)符不"干凈",則它不會(huì)被視為結(jié)束標(biāo)識(shí)符,PHP 將繼續(xù)尋找下去。如果在這種情況下找不到合適的結(jié)束標(biāo)識(shí)符,將會(huì)導(dǎo)致一個(gè)在腳本最后一行出現(xiàn)的語(yǔ)法錯(cuò)誤。

如下:

print <<<eot

eot;

中間可以放置變量的,如果是數(shù)組變量也是可以的。

假如數(shù)組

$arrTest=array("abc","123");

在eot之間可以用以下方式置入變量

"{$arrTest[0]}"

]]>
http://www.dgkai.cn/blog/view-151.html/feed 120