php定界符 <<< 的作用及使用注意事项
按照原样输出,包括换行符、特殊字符等
任何特殊字符都不需要转义,比如双引号、单引号,它会按照原样输出
像在双引号字符串中一样使用php的变量输出
定界符<<<,当需要输出大段文本时,一般选用定界符,它的输出形式和使用双引号输出的表现一致,只是没有双引号,这意味着在定界符中的字符串不需要转义双引号。
<?php
$testFloat = 0.58;
// 我在这里使用html作为定界符标识(定界符标识是可以自定义的)
echo <<<html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>$testFloat
</head>
<body>
</body>
</html>
html;
echo "<!DOCTYPE html>
<html lang=\"en\">
<head>
<meta charset=\"UTF-8\">
<title>Document</title>$testFloat
</head>
<body>
</body>
</html>";
以上两个echo的最终输出结果是一样的。
因此,像类似html大段文本的输出,就可以使用定界符方式,html元素属性就不用对双引号进行转义了。
使用定界符<<< 的注意事项
- 定界符标识必须前后一致
- 可以任意定义定界符标识,比如 echo html div ,尽量选用有意义的标识符,并遵循某类命名规范。
- 开头标识后不能跟任何字符,空格也不可以,换行后再跟要输出的文本。
- 结束标识(其后紧跟一个分号;)前后都不可有任何字符,即结束标识要顶头写,且独占一行,其后除紧跟分号外,不能有任何字符(空格也不可以)
- 最后要注意的是,结束标识所在行不能成为脚本的最后一行,其下必须有空行或者其他代码行,否则报错。
<?php
echo <<< div// 标识符后不能有空格,注释以及其他任何字符;标识符前无限制
<div id="divid"></div>
div;// 结束标识必须独占一行且前后都不可有任何字符,包括空格,没否则报错
// 如果结束标识下方没有任何行(空行、代码行等),报错
以上任何一项不符,会报类似以下错误:
Parse error: syntax error, unexpected end of file ...
参考文档:PHP的定界符
php定界符 <<< 的作用及使用注意事项的更多相关文章
- php定界符<<<EOF讲解(转)
Heredoc技术.可用来输出大段的html和javascript脚本 1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西: 2.在PHP定界符中的任何特殊字符都不需要转义: ...
- php定界符<<<EOF讲解
Heredoc技术.可用来输出大段的html和javascript脚本 1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西: 2.在PHP定界符中的任何特殊字符都不需要转义: ...
- PHP定界符<<<EOF
PHP定界符<<<EOF 一.为什么需要使用定界符: 因为在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况, 如果用传统的输出方法 ——按字符串输 ...
- php的定界符<<<eof的问题
在php的编程过程中难免会遇到输出大段的html和javascript脚本的情况,可都放在具体的地方的时候,路由不好处理,而且比较浪费时间 如果按照传统的输出方法,按照字符串输出的话,需要大量的转义字 ...
- PHP定界符eof 的使用
PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话, 肯定要有大量的转义符来对字符串中的引号等 ...
- PHP定界符<<<eof 使用
PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特 ...
- php 的定界符 <<<eof
PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特 ...
- php 的定界符 <<<eof 的问题
PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特 ...
- Linux - expect自动化远程登录脚本
简单模式: #!/usr/bin/expect -f spawn ssh root@192.168.0.1 expect "*assword*" send "root\r ...
- php 处理别人直接丢过来的json字符串
如果 json校验成功 出现莫名其妙的不能decode 就看下转义 最好是直接使用php定界符eof来赋值字符串
随机推荐
- C#中的ref与out参数(本文仅作为个人笔记)
假如一个方法的参数(形参)是引用类型,那么使用那个参数来进行的任何修改都会改变参数引用的数据.但这里的关键在于,虽然引用的数据发生了变化,但参数本生没有改变——它仍然引用的是一个对象.换句话说,虽然可 ...
- python打包成exe
目前有三种方法可以实现python打包成exe,分别为 py2exe Pyinstaller cx_Freeze 其中没有一个是完美的 1.py2exe的话不支持egg类型的python库 2.Pyi ...
- rsa 密钥和公钥的生成
openssl genrsa -out prikey.pem openssl rsa -in prikey.pem -pubout -out pubkey.pem
- 在PADS LAYOUT中修改所有元件字体的大小,怎么修改?
1.选中一个字符,Ctrl+Q查看一下属性,是在哪一层. 2.Ctrl+Alt+F(Filter)打开滤波器选项,点Layer,将除字符所在层之外的层全部关掉,即将其前面的"√"去 ...
- 传智播客C/C++各种开发环境搭建视频工具文档免费教程
传智播客作为中国IT培训的领军品牌,一直把握技术趋势,给大家带来最新的技术分享!传智播客C/C++主流开发环境免费分享视频文档中,就有写一个helloworld程序的示范.火速前来下载吧 所谓&quo ...
- BZOJ 2253: [2010 Beijing wc]纸箱堆叠
题目 2253: [2010 Beijing wc]纸箱堆叠 Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 239 Solved: 94 Descr ...
- POJ2352:Stars
题目 Stars Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 34016 Accepted: 14839 Descri ...
- java常用系统包介绍
java.applet提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类.java.awt包含用于创建用户界面和绘制图形图像的所有类.java.awt.colo ...
- java类的结构(属性、方法、构造函数)
一.类的定义形式类定义的一般形式如下 [类定义修饰符] class <类名> { //类体 [成员变量声明] [构造函数] [成员方法] } 前面说过,在描述java语法时,方括号中 ...
- xcode 工具栏中放大镜的替换的简单说明
1.如果是在打开的文档范围内: 查找: Command+ F 替换: Option+Command+F Replace All 是全部替 ...