初识定界符 “<<<”

php中<<<eot 的用法
例:

<?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;必须在当前行的最前,其前面不允许有任何字符
?>

从上面的例子可以看出<<<eot 为开始标识,结束为eot; 中间引用变量则就为{变量} 这种方法通常用在生成静态度页面时,可以把此代码写在静态文件中,然后然后用来调用即可。

定界符
给字符串定界的方法使用定界符语法(<<<)。应该在 <<< 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。
结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。

举个例子:

<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
?>

但要注意的是:
结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。 如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。

如下:

print <<<eot
eot;

中间可以放置变量,如果是数组变量也是可以的。
假如数组:

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

在eot之间可以用以下方式置入变量

"{$arrTest[0]}"

eot 定界符 变量

作者:羽飞 | 发布时间:2009-04-02 10:23 | 分类:PHP | 阅读:6189次