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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 前端参数用MD5加密[通俗易懂]

    前端参数用MD5加密[通俗易懂]今天来讲一下如何用这个MD5来加密第一步:两种导入MD5.js一种你可以到以下这个地址去下载MD5的js路径:https://www.bootcdn.cn/blueimp-md5/另一种下面是md5的js,直接复制下去放到js文件里。亲测可用varhexcase=0;varb64pad=&quot;&quot;;varchrsz=8;functionhex_md…

    2022年7月11日
    52
  • pycharm教育版安装教程_pycharm专业版安装

    pycharm教育版安装教程_pycharm专业版安装1.打开百度搜索PyCharm进入官网,我们可以看到左边是专业版,右边是社区版,建议使用专业版,功能比较齐全。2. 双击安装包进行安装。自定义软件安装路径(建议路径中不要中文字符)。3.选择开始菜单文件夹(默认即可),点击安装。耐心等待安装。4.安装完成,勾选立即运行PyCharm。5.选择是否导入开发环境配置文件,我们选择不导入。6.阅读协议并同意7.如果有学生的edu邮箱的话可以免费使用…

    2025年6月7日
    3
  • N 皇后问题_用回溯法解N皇后问题

    N 皇后问题_用回溯法解N皇后问题n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个明确的n皇后问题的棋子放置方案,该方案中‘Q’和‘.’分别代表了皇后和空位。示例如下:输入:4输出:[[".Q..",//解法1"…Q","Q…","…..

    2022年9月30日
    4
  • 十种常用代码编辑器

    十种常用代码编辑器1.vscode微软推出的轻量级代码编译器,是本人使用最多的编译器(主要是好玩的插件多),支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。分享下本人的死宅背景~2.NETBEANSNetBeans是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的JavaIDE。NetBeans当前可以在Solaris、Win

    2022年6月23日
    147
  • windows下载安装adb(极其简单)

    windows下载安装adb(极其简单)单独安装adb,不安装sdk下载adbGoogle很好的心,直接放出ADB的档案供人下载。下档路径如下:Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zipMac版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zipLinux版本:https://dl.google.com/andro

    2022年5月16日
    46
  • 在Ubuntu下编译Assimp库

    在Ubuntu下编译Assimp库

    2022年1月25日
    39

发表回复

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

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