php定界符 <<< 的作用及使用注意事项

  • 按照原样输出,包括换行符、特殊字符等

  • 任何特殊字符都不需要转义,比如双引号、单引号,它会按照原样输出

  • 像在双引号字符串中一样使用php的变量输出

    定界符<<<,当需要输出大段文本时,一般选用定界符,它的输出形式和使用双引号输出的表现一致,只是没有双引号,这意味着在定界符中的字符串不需要转义双引号。

<?php

$testFloat = 0.58;
// 我在这里使用html作为定界符标识(定界符标识是可以自定义的)
echo <<<html
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>$testFloat
</head>
<body>
	
</body>
</html>
html;

echo "<!DOCTYPE html>
<html lang=\"en\">
<head>
	<meta charset=\"UTF-8\">
	<title>Document</title>$testFloat
</head>
<body>
	
</body>
</html>";

以上两个echo的最终输出结果是一样的。
因此,像类似html大段文本的输出,就可以使用定界符方式,html元素属性就不用对双引号进行转义了。

使用定界符<<< 的注意事项

  • 定界符标识必须前后一致
  • 可以任意定义定界符标识,比如 echo html div ,尽量选用有意义的标识符,并遵循某类命名规范。
  • 开头标识后不能跟任何字符,空格也不可以,换行后再跟要输出的文本。
  • 结束标识(其后紧跟一个分号;)前后都不可有任何字符,即结束标识要顶头写,且独占一行,其后除紧跟分号外,不能有任何字符(空格也不可以)
  • 最后要注意的是,结束标识所在行不能成为脚本的最后一行,其下必须有空行或者其他代码行,否则报错。
<?php

echo <<< div// 标识符后不能有空格,注释以及其他任何字符;标识符前无限制
<div id="divid"></div>
div;// 结束标识必须独占一行且前后都不可有任何字符,包括空格,没否则报错
// 如果结束标识下方没有任何行(空行、代码行等),报错

以上任何一项不符,会报类似以下错误:

Parse error: syntax error, unexpected end of file  ...

参考文档:PHP的定界符

posted @ 2014-12-28 10:37  Rice Lee  阅读(8764)  评论(0编辑  收藏  举报
hello footer