PHP三种字符串界定符的区别(单引号,双引号,<<<)
单引号,双引号,<<<的区别如下:
前续:今天突然遇到了<<<EOT,可在运行的时候出错了,所以就度娘了下。
1、单引号:’a string’
\’是唯一的转义码,不能内嵌变量(包含的变量,是不作解析的,只是照原样输出)。
2、双引号: ”a $better string\n”
标准的转义码能正常使用,可内嵌变量(包含的变量,PHP会解析)。
3、“Here-doc” 语法: PHP界定符

1 $a=1;
2 echo <<<EOT
3 <script language="JavaScript" type="text/JavaScript">
4 var a = $a;
5 alert(a);
6 </script>
7 EOT;

<<<EOT 和EOT是界定符,他们之间的内容php将会识别为一段大的字符串,相当于""双引号。对于多行的大文本或html非常有用,并且支持内嵌变量。
其作用可归纳为3点:
1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的所有东西;
2.在PHP定界符中的任何特殊字符都不需要转义,照常书写;
3.PHP定界符中的PHP变量会被正常的用其值来替换(php解析嵌套变量)。
注意事项:
1.在<<<之后的字符EOT是自己定义的,随便什么都是可以的,但是结尾处的字符一定要和他一样,他们是成对出现的。
2.以<<<EOT开头,后面另起新行。 结尾EOT; 单独占用一行,前后不能有包含空格在内的任何字符。
3.内嵌的php变量,必要时要用{}括起来是要告诉PHP解析器这是一个PHP变量,例如{$name}来避免产生歧义,其它情况可以不用{}。
注意:
综合上述可以看出,单引号执行效率是比后两种要高。所以在使用过程过应该酌情而定。
PHP三种字符串界定符的区别(单引号,双引号,<<<)的更多相关文章
- PythonStudy——三种字符串 Three strings
# 普通字符串:u'以字符作为输出单位'print(u'abc') # 用于显示 # 二进制字符串:b'' 二进制字符串以字节作为输出单位print(b'abc') # 用于传输 # 原义字符串:r' ...
- spring boot:thymeleaf模板中insert/include/replace三种引用fragment方式的区别(spring boot 2.3.3)
一,thymeleaf模板中insert/include/replace三种引用fragment方式的区别 insert: 把整个fragment(包括fragment的节点tag)插入到当前节点内部 ...
- python:单引号,双引号和三引号
python中字符串可以用单引号括起来,也可以用双引号,这两种方式是等价的需要表示一个字符串对象的话,单引号和双引号没有区别 为什么需要单引号和双引号同时支持,而一般都是”呢? 比如” 双引号’里面有 ...
- Linux中的元字符和转义符 单引号 硬引号 双引号 软引号
Linux中的元字符和转义符 单引号 硬引号 双引号 软引号 Linux就这个范儿 Linux就这个范儿 P182单引号:硬引号,所有元字符特殊意义都会关掉双引号:软引号,只允许出现特定元字符 ...
- 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率
之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...
- JS中三种字符串连接方式及其性能比较
工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法 用连接符“+”把要连接的字符串连起来 ...
- Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?
[梁海的回答(99票)]: 简答.一些细节暂无精力查证,如果说错了还请指出. 一句话建议:涉及兼容性考量时,不要用记事本,用专业的文本编辑器保存为不带 BOM 的UTF-8. * * * 如果是为了跨 ...
- Golang切片的三种简单使用方式及区别
概念 切片(slice)是建立在数组之上的更方便,更灵活,更强大的数据结构.切片并不存储任何元素而只是对现有数组的引用. 三种方式及细节案例 ①定义一个切片,然后让切片去引用一个已经创建好的数组 pa ...
- JavaScript中三种字符串连接方式及其性能比较
参考地址: https://www.cnblogs.com/programs/p/5554742.html 工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方 ...
随机推荐
- Promise.then链式调用
let a = new Promise((resolve,reject)=>{ resolve(1) }).then((r)=>{console.log(r)}).then(()=> ...
- 阶段3 2.Spring_06.Spring的新注解_4 spring的新注解-Import
把Configuration的直接先注释掉 那么运行测试类的查询所有 并不影响我们的使用 不写同样可以执行的原因是因为这里把SpringConfiguration这个类作为方法传入进去了 新建 Spr ...
- Java Array数组 遍历 四种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...
- 【HANA系列】SAP HANA XS Administration Tool登录参数设置
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS Admi ...
- kali安装redis
下载 wget http://download.redis.io/releases/redis-4.0.11.tar.gz 解压 tar -zxvf redis-4.0.11.tar.gz 切换目录 ...
- Linux内核基础优化
Linux内核基础优化 net.ipv4.ip_forward = 1 #开启网络转发 net.ipv4.conf.default.rp_filter = 0 #开启代理功能 net.ipv4.con ...
- Linux集群之间配置NTP时间同步ntp
NTP时间同步 注意事项 要注意的是,ntpd 有一个自我保护设置: 如果本机与上源时间相差太大, ntpd 不运行. 所以新设置的时间服务器一定要先 ntpdate 从上源取得时间初值, 然后启动 ...
- 基于Spark的电影推荐系统
数据文件: u.data(userid itemid rating timestamp) u.item(主要使用 movieid movietitle) 数据操作 把u.data导入RDD, t ...
- 洛谷 P1073 最优贸易 题解
题面 大家都是两遍SPFA吗?我这里就一遍dp啊: 首先判断对于一个点u,是否可以从一号点走到这里,并且可以从u走到n号点: 对于这样的点我们打上标记: 那么抛出水晶球的点一定是从打上标记的点中选出一 ...
- ExpressionTree学习笔记
概述: 这段时间需要制定自定义查询条件,感觉有必要学习ExpressionTree. 学习参考资料:https://msdn.microsoft.com/en-us/library/mt654263. ...