你可能知道PHP的单引号和双引号是有区别的,但是不知你有没有见到过一种较为“特殊”的写法,如下所示:
<?php
$mobile = 'iPhone';
$str = <<<EOT
The product $mobile takes the lead in smart 'phone' market all the time.
The great CEO Steve Jobs is known by the world.
Though he has passed away for some time,
people still think of him when they see the product.\r\n
EOT;
print_r($str);
这段代码中的EOT究竟是个什么鬼东西呢?好吧,这里你把EOT换成其他的大写字母也是没有影响的,这里你执行后控制台给你返回的结果是:
The product iPhone takes the lead in smart 'phone' market all the time.
The great CEO Steve Jobs is known by the world.
Though he has passed away for some time,
people still think of him when they see the product.
你会发现上面的使用和双引号几乎没有什么区别,它可以像双引号一样解析变量,可以照常使用单引号,可以解析反斜线。这就是HereDoc结构。
使用HereDoc结构,你需要注意的是要使用<<<以及大写字母来开头,并且以顶格写的同样的大写字母加上英文状态下的分号来结束这段字符串,一般情况下出现大段字符串的时候你使用这种结构更加方便一些。
其实还有一种NowDoc结构,这种结构和单引号几乎没有区别,与HereDoc写法不同的地方就是要使用<<<以及被单引号括起来的大写字母来开头,如 $str = <<<'EOT'它的结束方式与HereDoc的结束方式是一样的,注意结束的时候不要写单引号。
有兴趣的朋友可以自己尝试一下。