PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字串的方法。
使用概述:
- 必须后接分号,否则编译通不过。
- EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
- 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
- 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
- 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
<?php
echo <<<EOF
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格
?>
注意:
1.以 <<
<?php
$name="runoob";
$a= <<<EOF
"abc"$name
"123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>
尝试一下EOF是不是可以写成别的字符,以及在内部做运算,如下:
<?php
$var_a = "abc";
$a = 1;
$b = 2;
$c = 3;
$d = 0;
$f = 0;
$var_text = <<< WANTAFUCKINGDAY
<h1>我就是尝试一下,看看EOF这东西是不是可以随意的写</h1>
<h2>结果我发现确实可以随便的写</h2>
<h3>显示来测试一下变量:$var_a</h3>
<h1>测试一下能否做运算</h1>
<p>
$d = $a + $b +$c
$f = $a * $b * $c
$d%$f
</p>
WANTAFUCKINGDAY;
echo $var_text;
?>
# 结果显示如下
我就是尝试一下,看看EOF这东西是不是可以随意的写
结果我发现确实可以随便的写
显示来测试一下变量:abc
测试一下能否做运算
0 = 1 + 2 +3 0 = 1 * 2 * 3 0%0
- EOF确实可以写成别的字符串,只要满足规则
- 不可以在内部做运算