分享

PHP定界符EOT的用法

 qxname 2019-05-15

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

php 中(<<<eot)的用法

有时候我们需要在php输出比较复杂的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;必须在当前行的最前,其前面不允许有任何字符

?>

从上面的例子可以看出<<<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]}"

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多