php字符串的Heredoc、Nowdoc结构

发布时间:2020/05/06 作者:天马行空 阅读(934)

Heredoc 结构
heredoc类似多行的双引号,是动态的。使用 <<< EOT 的标示符,是一种专门处理大段字符串的通用处理方案。
句法结构:<<<。在该运算符之后要提供一个标识符,然后换行。接下来是字符串 string 本身,最后要用前面定义的标识符作为结束标志。 结束时所引用的标识符必须在该行的第一列,而且,标识符的命名也要像其它标签一样遵守 PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头。
在 heredoc 结构中含有复杂的变量时要格外小心。    

<?php
$a = '123456';
$bar = <<<EOT
$a Nothing in here…
EOT;
?>



Nowdoc 结构
nowdoc 类似多行的单引号,是PHP5.3引进的新技术,它包含了heredoc的语法,只是其中的内容绝对不会进行任何的转义和解释,是什么内容就是什么内容,不会解析PHP相关的内容。
nowdoc是php为了弥补动态实现“heredoc”的效率问题而实现的“高效率”的静态版本。
一个 nowdoc 结构也用和 heredocs 结构一样的标记 <<<, 但是跟在后面的标识符要用单引号括起来,即 <<<'EOT'。Heredoc 结构的所有规则也同样适用于 nowdoc 结构,尤其是结束标识符的规则。

<?php
$str = <<<'EOT'
Example of string
spanning multiple lines
using nowdoc syntax.
EOT;//EOT一定要靠近前面,不能有空格,同时不要漏掉结束符分号;
?>


关键字php