当前位置: 首页 > 面试题库 >

PHP中的单引号和双引号字符串有什么区别?

南门鸿哲
2023-03-14
问题内容

我有些困惑,为什么我在PHP中看到一些代码,这些代码的字符串用单引号引起来,有时用双引号引起来。

我只是在.NET或C语言中知道,如果用单引号引起来,则意味着它是一个字符,而不是字符串。


问题答案:

PHP字符串不仅可以通过 _两种_方式指定,还可以通过 四种 方式指定。

  1. 用单引号引起来的字符串几乎可以完全“按原样”显示事物。变量和大多数转义序列将不被解释。唯一的例外是,要显示文字单引号,您可以使用反斜杠对其进行转义\',而要显示反斜杠,则可以使用另一个反斜杠对其进行转义\\因此,即使是单引号的字符串也已被解析 )。
  2. 双引号字符串将显示许多转义字符(包括一些正则表达式),并且将评估字符串中的变量。这里重要的一点是, 您可以使用花括号来分隔要评估的变量的名称 。例如,假设您有变量$type并且想要echo "The $types are"。那将寻找变量$types。要解决此问题,echo "The {$type}s are"您可以将左括号放在美元符号之前或之后。看一看字符串解析,看看如何使用数组变量等。
  3. Heredoc字符串语法的工作方式类似于双引号字符串。它以开头<<<。在此运算符之后,提供了一个标识符,然后提供了换行符。字符串本身紧随其后,然后再次使用相同的标识符关闭引号。您无需使用此语法对引号进行转义。
  4. Nowdoc(自PHP 5.3.0起)字符串语法的工作原理与单引号字符串相似。区别在于,甚至不必转义单引号或反斜杠。nowdoc的标识<<<顺序与heredocs所用的序列相同,但是其后的标识符用单引号引起来,例如<<<'EOT'nowdoc不进行任何解析。

速度:
我不会过多地强调单引号比双引号更快。在某些情况下,它们可能更快。这是一篇文章,[说明自PHP
4.3以来,单引号和双引号基本上一样快的一种方式(Useless Optimizations朝底部,第一节C)。此外,此
基准测试页面 具有单引号与双引号的比较。大多数比较是相同的。有一个比较,双引号比单引号慢。




 类似资料:
  • 问题内容: SQL中的单引号和双引号有什么区别? 问题答案: 单引号用于指示SQL中字符串的开头和结尾。在SQL中通常不使用双引号,但每个数据库的双引号可能会有所不同。 坚持使用单引号。 无论如何,这是主要用途。您可以为列别名使用单引号- 您希望在应用程序代码中引用的列名可以是数据库中实际未调用的列名。例如:的可读性更高,因此您可以使用以下两种方式之一: 两者都可以在Oracle,SQL Serv

  • 本文向大家介绍PowerShell中字符串使用单引号和双引号的区别,包括了PowerShell中字符串使用单引号和双引号的区别的使用技巧和注意事项,需要的朋友参考一下 本文介绍PowerShell开发时,在字符串中如何去包含变量。将变量包含在字符串中,最后得到的结果是将变量的值放入到了字符串中。 假如有一个字符串变量:$p = "PowerShell" 那么 $str="Hello $p",这时,

  • 本文向大家介绍简单概括PHP的字符串中单引号与双引号的区别,包括了简单概括PHP的字符串中单引号与双引号的区别的使用技巧和注意事项,需要的朋友参考一下 今天有个朋友问起,说下区别,顺便复习下。 单引号与双引号的不同: " "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 ' '单引号里面的不进行解释,直接输出。  单引号解析的时间比双引号快 。 单引号支持\转义符,双引号支持的转义

  • 本文向大家介绍替换php字符串中的单引号为双引号的方法,包括了替换php字符串中的单引号为双引号的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇替换php字符串中的单引号为双引号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我想从字符串中删除一个双引号(“)开头和结尾。 如何在Java中实现呢?谢谢! 问题答案: 您可以为此使用模式。 例如 要了解有关正则表达式的更多信息,请访问http://regular-expression.info。 也就是说,这有点像您要发明CSV解析器的味道。如果是这样,我建议您四处看看现有的库,例如OpenCSV。

  • 本文向大家介绍浅谈PHP中单引号和双引号到底有啥区别呢?,包括了浅谈PHP中单引号和双引号到底有啥区别呢?的使用技巧和注意事项,需要的朋友参考一下 在PHP中,字符串的定义可以使用英文单引号' ',也可以使用英文双引号" "。 但是必须使用同一种单或双引号来定义字符串,如:'Hello World"和"Hello World'为非法的字符串定义。 单引号和双引号到底有啥区别呢? PHP允许我们在双