PHP中heredoc和nowdoc的用法

PHP中heredoc和nowdoc的用法

大家好,又见面了,我是全栈君。

我先定义一个三行三列的表格:

$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语法结构

<<<标识名称 内容 标识名称;

注意:

  1. 标识名只能包含字母、数字、下划线,并且必须字母和下划线开始
  2. 结束符前不能有任何内容,像制表符和空格都不可以
  3. 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

输出结果:

输入图片说明

转载于:https://my.oschina.net/u/2953372/blog/806355

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108723.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号