PHP中单引号和双引号的区别详解

本文将介绍PHP中单引号和双引号的区别。

PHP中单引号和双引号简介

在 PHP 中,我们使用引号来指定值是字符串文字。有两种不同类型的报价。它们是单引号'和双"引号。但是,我们可以使用和之类的字符串语法来指定字符串文字。在本文中,我们将重点关注引号。我们可以用单引号或双引号将字符串文字包裹起来,以将值表示为字符串。一个例子如下所示。

示例代码:

<?php
 
echo "hey you \n";
echo 'hey you';
 
?>

输出:

hey you
hey you

在上面的示例中,两个引号的使用似乎是相同的。但不仅如此。引号的功能是相同的,但它们的工作方式有所不同。我们将在下面讨论单引号和双引号之间的显着差异。

PHP中字符串和变量插值时单引号和双引号的区别

单引号和双引号之间最显着的区别在于我们插入字符串和变量时。单引号不插入字符串和变量。单引号内的内容会按原样打印出来。在大多数情况下,单引号内没有任何变量或转义序列的编译。

但是,在双引号的情况下,写在引号内的变量将被插入字符串。这意味着将评估字符串中的变量。因此,在插入字符串和变量时很容易使用双引号。双引号优于单引号的优点是我们不需要使用.运算符连接字符串和变量。但是,由于需要在字符串中计算变量,因此使用双引号会比使用单引号稍微慢一些。

例如,创建一个变量$name并将字符串写入Bond其中。接下来,写入字符串The name is $name.并用双引号将字符串括起来。使用该echo函数打印字符串。同样,在下一行中用单引号将确切的字符串括起来。

示例代码:

<?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 中使用双引号和单引号的转义序列。转义序列可以在双引号内使用来转义字符。同时,大多数转义序列不会在单引号内解释。但是,转义撇号有一个例外。

如果我们在使用双引号的同时在字符串中写入撇号,则无需转义撇号。但是,在单引号的情况下,我们需要使用\'. 示例如下所示。

示例代码:

<?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解析器根本没把号后面的引号当成引号来看待.

同样的,还可以转义分号,$符号等特殊符号.

总结

作者:allway2原文地址:https://blog.csdn.net/allway2/article/details/126829769

%s 个评论

要回复文章请先登录注册