A-A+

php中heredoc与nowdoc的介绍(代码示例)

2020年01月02日 我爱编程 暂无评论

本篇文章给大家带来的内容是关于php中heredoc与nowdoc的介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

heredoc 结构:

heredoc 句法结构:<<<。在该运算符之后要提供一个标识符,然后换行。接下来是字符串本身,最后要用前面定义的标识符作为结束标志。

  1. <?php
  2. $content = <<<FDIPZONE
  3. <html>
  4. <head>
  5. <title>test</title>
  6. </head>
  7. <body>
  8. <p>
  9. <img src="http://www.csdn.net/css/logo.png">
  10. </p>
  11. <p><
  12. a href='http://blog.csdn.net/fdipzone'>blog</a>
  13. </p>
  14. </body>
  15. </html>
  16. FDIPZONE;
  17. echo $content;
  18. ?>

heredoc 结构不能用来初始化类的属性。自 PHP 5.3 起,此限制仅对 heredoc 包含变量时有效。下例将会出错。

  1. <?php
  2. class test{
  3. public $var = '123';
  4. public $a = <<<FDIPZONE$varFDIPZONE;
  5. }
  6. $obj = new test();
  7. echo $obj->a;
  8. ?>

heredoc结构中,变量将被替换,但方法不会。含有复杂的变量时要格外小心。

  1. <?php
  2. $var = '123';
  3. $content = <<<FDIPZONE$var time();
  4. FDIPZONE;
  5. echo $content// 123 time();
  6. ?>

nowdoc 结构

nowdoc 句法结构很象 heredoc 结构,但是 nowdoc 中不进行解析操作。这种结构很适合用于嵌入php代码或其它大段文本而无需对其中的特殊字符进行转义。

nowdoc 与 heredoc 结构一样的标记 <<<,但跟在后面的标识符必须用单引号括起来,即<<<'EOF'。 heredoc 结构的所有规则同样适用于nowdoc结构,尤其是结束标识符的规则。nowdoc是在php5.3之后才加入的。

  1. <?php
  2. $var = '123';
  3. $content = <<<'FDIPZONE'$var time();
  4. FDIPZONE;echo $content// $var time(); 
  5. $var没有被替换
  6. ?>

nowdoc 结构可以用在任意的静态数据环境中,最典型的示例是用来初始化类的属性或常量,下例将不会出错,可以对比heredoc的例子。

  1. <?php
  2. class test{
  3. public $a = <<<'FDIPZONE'$varFDIPZONE;
  4. }
  5. $obj = new test();
  6. echo $obj->a;
  7. ?>

以上就是php中heredoc与nowdoc的介绍(代码示例)的详细内容。

标签:

给我留言

Copyright © 四季博客 保留所有权利.   Theme  Ality

用户登录