在 PHP 中,我们使用引号来指定值是字符串文字。有两种不同类型的报价。它们是单引号'
和双"
引号。但是,我们可以使用和之类的字符串语法来指定字符串文字。在本文中,我们将重点关注引号。我们可以用单引号或双引号将字符串文字包裹起来,以将值表示为字符串。一个例子如下所示。
示例代码:
1
2
3
4
5
6
|
<?php echo "hey you \n" ; echo 'hey you' ; ?> |
输出:
hey you
hey you
在上面的示例中,两个引号的使用似乎是相同的。但不仅如此。引号的功能是相同的,但它们的工作方式有所不同。我们将在下面讨论单引号和双引号之间的显着差异。
PHP中字符串和变量插值时单引号和双引号的区别
单引号和双引号之间最显着的区别在于我们插入字符串和变量时。单引号不插入字符串和变量。单引号内的内容会按原样打印出来。在大多数情况下,单引号内没有任何变量或转义序列的编译。
但是,在双引号的情况下,写在引号内的变量将被插入字符串。这意味着将评估字符串中的变量。因此,在插入字符串和变量时很容易使用双引号。双引号优于单引号的优点是我们不需要使用.
运算符连接字符串和变量。但是,由于需要在字符串中计算变量,因此使用双引号会比使用单引号稍微慢一些。
例如,创建一个变量$name
并将字符串写入Bond
其中。接下来,写入字符串The name is $name.
并用双引号将字符串括起来。使用该echo
函数打印字符串。同样,在下一行中用单引号将确切的字符串括起来。
示例代码:
1
2
3
4
5
6
7
|
<?php $name = "Bond" ; echo "The name is $name. \n" ; echo 'The name is $name.' ; ?> |
输出:
The name is Bond.
The name is $name.
$name
如输出所示,使用双引号对变量进行评估。使用单引号时,字符串按原样打印。这是 PHP 中单引号和双引号之间的显着区别之一。
PHP中转义撇号时单引号和双引号的区别
本节将讨论 PHP 中使用双引号和单引号的转义序列。转义序列可以在双引号内使用来转义字符。同时,大多数转义序列不会在单引号内解释。但是,转义撇号有一个例外。
如果我们在使用双引号的同时在字符串中写入撇号,则无需转义撇号。但是,在单引号的情况下,我们需要使用\'
. 示例如下所示。
示例代码:
1
2
3
4
5
6
|
<?php echo "Napoleon Hill's \"Think and grow rich\". \n" ; echo 'Napoleon Hill\'s \"Think and grow rich\".' ; ?> |
输出:
Napoleon Hill’s “Think and grow rich”.
Napoleon Hill’s \”Think and grow rich\”.
在上面的代码中,很明显撇号不能使用双引号转义。双引号也使用字符转义在双引号内进行转义。同时,在单引号的情况下,撇号使用字符转义进行转义。在后一种情况下,使用字符转义时不会转义双引号。
这些是 PHP 中单引号和双引号之间的显着差异。
补充知识:字符串内部如果出现PHP引号怎么办–关于转义.
比如我们想输出: 我”是\’天才
这时候就必须用到转义了.转义即把本来有作用的符号转成无意义的字符.
这样就正常了,因为号把它后面的任何字符都转成无意义的符号.在这里来说,PHP解析器根本没把号后面的引号当成引号来看待.
同样的,还可以转义分号,$符号等特殊符号.
原文链接:https://blog.csdn.net/allway2/article/details/126829769
暂无评论内容