当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2019-12-31 14:15:05 浏览: 评论:0 

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

heredoc 结构:

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

  1. <?php 
  2.  
  3. $content = <<<FDIPZONE 
  4.  
  5. <html> 
  6.  
  7. <head> 
  8.  
  9. <title>test</title> 
  10.  
  11. </head> 
  12.  
  13. <body> 
  14.  
  15. <p> 
  16.  
  17. <img src="http://www.csdn.net/css/logo.png">  
  18.  
  19. </p> 
  20.  
  21. <p>< 
  22.  
  23. a href='http://blog.csdn.net/fdipzone'>blog</a>  
  24.  
  25. </p> 
  26. //phpfensi.com 
  27. </body> 
  28.  
  29. </html> 
  30.  
  31. FDIPZONE; 
  32.  
  33. echo $content
  34.  
  35. ?> 

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

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

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

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

nowdoc 结构

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

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

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

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

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

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

Tags: heredoc nowdoc

分享到: