我先定义一个三行三列的表格:
$table="<table border='1' width=\"80%\">//使用转义符
<tr>
<td>编号</td>
<td>用户名</td>
<td>描述</td>
</tr>
<tr>
<td>1</td>
<td>tang</td>
<td>she said \"I'm a girl\"</td>//因为在php文文件中,出现了单双引号冲突,所以这里用了转义符。
</tr>
</table>";
echo $table;
输出结果:
我们发现当在php文件中同时使用单引号和双引号就会出现冲突我们要用到转义符。
- heredoc语法结构
<<<标识名称 内容 标识名称;
注意:
- 标识名只能包含字母、数字、下划线,并且必须字母和下划线开始
- 结束符前不能有任何内容,像制表符和空格都不可以
- PHP5.3之后可以将标识符用双引号括起来,其他和双引号作用一样
$table=<<<EOF
<table border='1' width=80%>
<tr>
<td>编号</td>
<td>用户名</td>
<td>描述</td>
</tr>
<tr>
<td>1</td>
<td>tang</td>
<td>she said "I'm a girl"</td>
</tr>
</table>
EOF;
echo $table;
输出结果:
用了heredoc语法结构实现了同样的效果,但是我们并没有用转义符。 所以heredoc就相当于双引号的作用,也具有解析变量的能力。
- nowdoc语法结构
<<<'标识名称' 内容 标识名称;
注意:
- nowdoc和单引号作用一样,不解析变量和转义符,标识名称需要放在单引号中
$username='tang';
$str=<<<'EOD'
hello king<br/>
{$username}
EOD;
echo $str
输出结果:
来源:oschina
链接:https://my.oschina.net/u/2953372/blog/806355