php中双引号的区别,PHP中单引号和双引号的区别
好久没有写博客了,都忘了积累知识啦……现在开始全新的生活,重拾记录的习惯。今天要写的就是PHP中单引号和双引号的区别。在PHP中,我们可以使用单引号或者双引号来表示字符串。不过我们作为开发者,应该了解其中的区别。
一、字符串的表示
PHP语法分析器是用成对的引号来判断一个字符串的。因此,所有字符串必须使用同一种单或者双引号来定义开始和结束。例如:
$str1=
"I am a student.";
$str2=
'I am a student.';
定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的:
$s =
"I am a 'single quote string' inside a double quote string";
$s =
'I am a "double quote string" inside a single quote string';
当PHP遇到与串的开头相对应的引号时,便认为已经到了字符串尾部,于是:
$str=
"Why doesn't "this
" work?"
就会被解析成一下三部分:
"Why doesn't "——包含一个单引号的双引号串
this——多余的字符,分析器无法处理
" work?" ——普通字符串
那么我们怎么解决这个问题呢?可以通过使用转义字符将字符串中的引号作为字符串的一部分。正确的表示方法是这样:
$str=
"Why doesn't \"this\" work?"
二、字符串的连接
字串可以使用字串连接符(.)来连接,如:
$first_name =
'Charlie';
$last_name =
'Brown';
$full_name =
$first_name .
' ' .
$last_name;
常见的用途是建立大块的HTML字串代码,赋值号 (=) 连接符 (.) 可以被简写合并为 (.=) 符 号,如:
$html =
'
$html .=
'
numbersquare';
for
(
$i=
0 ;
$i<
10 ;
$i++
)
{
$square =
$i *
$i;
$html .=
'
' .
$i .
'
' .
$square .
'
';
}
$html .=
'
';
三、在字串中使用变量
单引号串和双引号串在PHP中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。例如:
$foo =
2;
echo
"foo is $foo";
// 打印结果: foo is 2
echo
'foo is $foo';
// 打印结果: foo is $foo
echo
"foo is $foo\n";
// 打印结果: foo is 2 (同时换行)
echo
'foo is $foo\n';
// 打印结果: foo is $foo\n
需要说明的是,在脚本中使用单引号串处理速度会更快些,因为PHP语法分析器对单引号串的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂些,所以处理速度略慢。
php中双引号的区别,PHP中单引号和双引号的区别相关推荐
- python中单引号和双引号的区别_python中单引号,双引号,多引号区别
先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 = "hello,world" 如果要写成多行,那么就要使用\ ("连行符")吧 ...
- python单双三引号区别_python中单引号,双引号,多引号区别_python中单双引号
python中单引号,双引号,多引号区别 先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 = "hello,world" 如果要写成多行,那么就要使 ...
- python中单引号和双引号的区别_python中单引号,双引号,多引号区别_python中单双引号...
python中单引号,双引号,多引号区别 先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 = "hello,world" 如果要写成多行,那么就要使 ...
- 在php中单引号和双引号的区别,php中单引号和双引号有什么区别?
php字符串中的双引号与单引号区别 php 单引号和双引号的区别: 双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符. 例如: $foo = 2; echo "foo ...
- python多行注释以三个英文_Python中多行注释可以包含在三对英文半角单引号('''''')或三对英文半角双引号(\\\...
Python中多行注释可以包含在三对英文半角单引号('''''')或三对英文半角双引号(\"\"\"\"\"\")之间 答:√ 变化再现除了 ...
- shell中单中括号和双中括号的区别
shell中单中括号和双中括号的区别 1.[ "["是一个可执行程序,路径是"/usr/bin/[" 他与可执行程序"test"是等价的. ...
- [css] ::before和:after中单冒号和双冒号的区别是什么,这两个伪元素有什么作用?
[css] ::before和:after中单冒号和双冒号的区别是什么,这两个伪元素有什么作用? 区别:伪元素在css1中已经存在当时用单冒号,css3时做了修订用双冒号 ::before ::aft ...
- linux 脚本双引号转义,探索PowerShell(十五) 引号与转义字符
基础用法 总结说来: 单引号任何情况下都只表示引号内自身的字符.也就是说,单引号内的内容不会进行变量的代换与字符的转义.而在双引号中,则允许进行变量代换和字符转义.在对变量进行代换和字符进行转义的判断 ...
- Vue中的Diff算法 patch函数-简单Diff算法-双端Diff算法-快速Diff算法-当数据发生改变,视图如何更新?
文章目录 Vue中的Diff算法 概述 前置知识 patch方法 简单Diff算法 总结 双端Diff算法 --vue2 快速Diff算法 --vue3 vue2和vue3 Diff算法的区别 当数据 ...
- Java中普通代码块,构造代码块,静态代码块区别
Java中普通代码块,构造代码块,静态代码块区别及代码 示例 //执行顺序:(优先级从高到低.)静态代码块>mian方法 >构造代码块>构造方法. 其中静态代码块只执行一次.构造代码 ...
最新文章
- linux c 函数专挑,Linux C wait函数
- UIButton 的edgeInsets研究
- 对高并发流量控制的一点思考	推荐
- 【渝粤题库】国家开放大学2021春1032成本管理题目
- 深入理解了MySQL,你才能说熟悉数据库
- 他们守护非洲大象犀牛,马云守护他们
- CentOS 安装 rz sz
- miRNA数据库篇——RNAcentral
- 毕业论文格式系列---1.论文公式编号
- 致加西亚的信 谁动了我的奶酪
- 头歌-自己动手画CPU(第五关)-寄存器文件设计-Logisim
- 淘宝logo设计遇到的坑
- 量子计算机九章骗局,200秒完成6亿年工作,量子计算机“九章”到底有多牛?...
- 主动防病毒产品及实测篇
- 成本太高,京东配送扛不住了?
- sql中向下取整怎么取_Sql Server 里的向上取整、向下取整、四舍五入取整的实例!...
- MySQL——超详细数据库触发器教程
- [书蕴笔记-2]使用word2vec模型迭代获取标签
- getRequestURI()与getRequestURL()
- 使用Markdown制作简历