好久没有写博客了,都忘了积累知识啦……现在开始全新的生活,重拾记录的习惯。今天要写的就是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中单引号和双引号的区别相关推荐

  1. python中单引号和双引号的区别_python中单引号,双引号,多引号区别

    先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 = "hello,world" 如果要写成多行,那么就要使用\ ("连行符")吧 ...

  2. python单双三引号区别_python中单引号,双引号,多引号区别_python中单双引号

    python中单引号,双引号,多引号区别 先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 = "hello,world" 如果要写成多行,那么就要使 ...

  3. python中单引号和双引号的区别_python中单引号,双引号,多引号区别_python中单双引号...

    python中单引号,双引号,多引号区别 先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 = "hello,world" 如果要写成多行,那么就要使 ...

  4. 在php中单引号和双引号的区别,php中单引号和双引号有什么区别?

    php字符串中的双引号与单引号区别 php 单引号和双引号的区别: 双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符. 例如: $foo = 2; echo "foo ...

  5. python多行注释以三个英文_Python中多行注释可以包含在三对英文半角单引号('''''')或三对英文半角双引号(\\\...

    Python中多行注释可以包含在三对英文半角单引号('''''')或三对英文半角双引号(\"\"\"\"\"\")之间 答:√ 变化再现除了 ...

  6. shell中单中括号和双中括号的区别

    shell中单中括号和双中括号的区别 1.[ "["是一个可执行程序,路径是"/usr/bin/[" 他与可执行程序"test"是等价的. ...

  7. [css] ::before和:after中单冒号和双冒号的区别是什么,这两个伪元素有什么作用?

    [css] ::before和:after中单冒号和双冒号的区别是什么,这两个伪元素有什么作用? 区别:伪元素在css1中已经存在当时用单冒号,css3时做了修订用双冒号 ::before ::aft ...

  8. linux 脚本双引号转义,探索PowerShell(十五) 引号与转义字符

    基础用法 总结说来: 单引号任何情况下都只表示引号内自身的字符.也就是说,单引号内的内容不会进行变量的代换与字符的转义.而在双引号中,则允许进行变量代换和字符转义.在对变量进行代换和字符进行转义的判断 ...

  9. Vue中的Diff算法 patch函数-简单Diff算法-双端Diff算法-快速Diff算法-当数据发生改变,视图如何更新?

    文章目录 Vue中的Diff算法 概述 前置知识 patch方法 简单Diff算法 总结 双端Diff算法 --vue2 快速Diff算法 --vue3 vue2和vue3 Diff算法的区别 当数据 ...

  10. Java中普通代码块,构造代码块,静态代码块区别

    Java中普通代码块,构造代码块,静态代码块区别及代码 示例 //执行顺序:(优先级从高到低.)静态代码块>mian方法 >构造代码块>构造方法. 其中静态代码块只执行一次.构造代码 ...

最新文章

  1. linux c 函数专挑,Linux C wait函数
  2. UIButton 的edgeInsets研究
  3. 对高并发流量控制的一点思考 推荐
  4. 【渝粤题库】国家开放大学2021春1032成本管理题目
  5. 深入理解了MySQL,你才能说熟悉数据库
  6. 他们守护非洲大象犀牛,马云守护他们
  7. CentOS 安装 rz sz
  8. miRNA数据库篇——RNAcentral
  9. 毕业论文格式系列---1.论文公式编号
  10. 致加西亚的信 谁动了我的奶酪
  11. 头歌-自己动手画CPU(第五关)-寄存器文件设计-Logisim
  12. 淘宝logo设计遇到的坑
  13. 量子计算机九章骗局,200秒完成6亿年工作,量子计算机“九章”到底有多牛?...
  14. 主动防病毒产品及实测篇
  15. 成本太高,京东配送扛不住了?
  16. sql中向下取整怎么取_Sql Server 里的向上取整、向下取整、四舍五入取整的实例!...
  17. MySQL——超详细数据库触发器教程
  18. [书蕴笔记-2]使用word2vec模型迭代获取标签
  19. getRequestURI()与getRequestURL()
  20. 使用Markdown制作简历

热门文章

  1. 使用JSON模式验证来映射稀疏JSON
  2. 将Quarkus应用程序部署到AWS Elastic Beanstalk
  3. ArrayList clone()– ArrayList深拷贝和浅拷贝
  4. perl大骆驼和小骆驼_骆驼路线的主/从故障转移
  5. java 模板方法设计模式_Java中的模板方法设计模式
  6. Amazon Glacier的Scala客户端
  7. 消息队列概述[幻灯片]
  8. java 简化判断_简化Java内存分析
  9. idea资源包下创建资源包_资源包技巧和最佳实践
  10. java实践_Java怪异实践