美文网首页
「php化整为零系列」七、Heredoc&Nowdoc

「php化整为零系列」七、Heredoc&Nowdoc

作者: Bill_Wang | 来源:发表于2016-08-03 17:24 被阅读28次

源码地址:https://github.com/wilfordw/phpTutorial

Heredoc和Nowdoc用于在php代码中嵌入大段字符,同时特殊字符不需要转义

语法:

Heredoc:

//标示可以是自定义字符,前后字符一致,且不能在文章中出现 Heredoc中可以嵌入变量
<<<标示
文章
标示;

Nowdoc;

//标示可以是自定义字符,前后字符一致,且不能在文章中出现 Nowdoc中不能嵌入变量
<<<'标示'
文章
标示;

Example

<?php
$name = "MyName";

//Heredoc 语法<<<标记...标记,可以插入变量 标记后不能有空格
echo <<<TEST1
My name is "{$name}"
TEST1;
//My name is "MyName"


//作为方法参数
echo var_dump(<<<EOD
Hello World
EOD
);
//string(11) "Hello World" 

//常量变量赋值
class A
{
    const xx = <<< EOD
constXX
EOD;

    public $oo = <<< EOD
var_oo
EOD;
}

$a = new A;
echo $a::xx;//constXX
echo $a->oo;//var_oo

//Nowdoc 语法<<<'标记'...标记,可以插入变量 标记后不能有空格
echo <<< 'TEST2'
My name is "{$name}".
TEST2;
//My name is "{$name}".

?>

总结一些容易出错的问题:

  1. <<<开始标记 后面不能有空格
  2. 结束标记必须定格,以分号结束
  3. php代码必须有?>结尾,对于纯php代码,没有文本输出的php代码官方建议不要用?>结尾php代码,但这里必须要,要不会报错

相关文章

网友评论

      本文标题:「php化整为零系列」七、Heredoc&Nowdoc

      本文链接:https://www.haomeiwen.com/subject/hvoqsttx.html