<?php
$fname = "David";
// Single quotes
echo 'My name is $fname.'; // My name is $fname.
// Double quotes
echo "My name is $fname."; // My name is David.
// Curly braces to isolate the name of the variable
echo "My name is {$fname}."; // My name is David.
// Example of heredoc
echo $foo = <<<abc
My name is {$fname}
abc;
// Example of nowdoc
echo <<< 'abc'
My name is "$name".
Now, I am printing some
abc;
?>
12条答案
按热度按时间eimct9ow1#
事物以双引号计算,但不以单引号计算:
siv3szwd2#
在php中使用单引号和双引号的区别在于,如果我们在echo语句中使用单引号,那么它将被视为一个字符串。。。但是如果我们在双引号内输入变量名,那么它将输出该变量的值和字符串。
q3qa4bjr3#
'单引号
指定字符串的最简单方法是将其括在单引号中。单引号通常比较快,而且里面引用的所有内容都被视为普通字符串。
例子:
“双引号
在php中使用双引号以避免使用句点分隔代码(注意:使用大括号
{}
如果不想使用串联,则包含变量(.
)运算符)在字符串中。例子:
在php中单引号和双引号是否有性能优势?
对。使用单引号稍微快一点。
php不会使用额外的处理来解释单引号中的内容。当您使用双引号时,php必须解析以检查字符串中是否有任何变量。
vmpqdwk34#
两种括起来的字符都是字符串。一种类型的引用可以方便地用来括起另一种类型的引用。
"'"
以及'"'
. 引号类型之间的最大区别在于,括起来的标识符引用将替换双引号内的标识符引用,而不是单引号内的标识符引用。gtlvzcf85#
这里有一些带变量的单引号和双引号的可能性
jslywgbw6#
php字符串不仅可以用两种方式指定,还可以用四种方式指定。
单引号字符串将几乎完全“按原样”显示变量和大多数转义序列将不会被解释。例外情况是,要显示文字单引号,可以使用反斜杠对其进行转义
\'
,若要显示反斜杠,可以使用另一个反斜杠对其进行转义\\
(所以是的,即使是单引号的字符串也会被解析)。双引号字符串将显示大量转义字符(包括一些正则表达式),并计算字符串中的变量。这里的一个要点是,可以使用大括号来隔离要计算的变量的名称。例如,假设你有一个变量
$type
你想去吗echo "The $types are"
. 它将查找变量$types
. 为了避开这个用途echo "The {$type}s are"
你可以把左括号放在美元符号之前或之后。看看字符串解析,看看如何使用数组变量等。herdeoc字符串语法的工作原理类似于双引号字符串。首先是
<<<
. 在这个操作符之后,提供一个标识符,然后是一个换行符。字符串本身紧跟其后,然后再次使用相同的标识符结束引号。在这种语法中不需要转义引号。nowdoc(自php5.3.0以来)字符串语法的工作原理基本上类似于单引号字符串。不同的是,即使是单引号或反斜杠也不必转义。nowdoc与
<<<
用于heredocs的序列,但后面的标识符用单引号括起来,例如。<<<'EOT'
. nowdoc中没有解析。注意:单引号内的单引号和双引号内的双引号必须转义:
速度:
我不会太看重单引号比双引号快。在某些情况下,它们可能更快。这篇文章解释了自PHP4.3以来单引号和双引号的速度基本相同的一种方式(
Useless Optimizations
朝底部,部分C
). 另外,这个基准页面有单引号和双引号的比较。大多数比较是相同的。有一种比较,双引号比单引号慢。irlmq6kh7#
有人可能会说我有点离题,但不管怎么说,这就是:
由于字符串的内容,您不必选择:
alert("It's \"game\" time.");
或者alert('It\'s "game" time.');
如果您熟悉英文引号的用法,以及撇号的正确字符,您可以使用双引号或单引号,因为这不再重要:alert("It’s “game” time.");
以及alert('It’s “game” time.');
当然,如果需要,也可以添加变量。只是别忘了它们只有在双引号中才会被评估!kyks70gy8#
在php中,两者
'my name'
以及"my name"
是字符串。您可以在php手册中阅读更多关于它的内容。你应该知道的是
在php中,人们使用单引号来定义常量字符串,如
'a'
,'my name'
,' xyz'
,而使用双引号定义包含标识符的字符串,如"a $b $c $d"
.另一件事是,
比…快
但是
慢于
这对于其他常用的字符串也是如此。
3xiyfsfu9#
单个带引号的字符串中没有解释的变量。双引号字符串不起作用。
此外,双引号字符串可以包含不带反斜杠的撇号,而单引号字符串可以包含不带反斜杠的引号。
单引号字符串在运行时更快,因为它们不需要解析。
bq3bfh9z10#
在php中,单引号文本被认为是字符串值,双引号文本通过替换和处理变量的值来解析变量。
这里,双引号解析值,单引号被认为是字符串值(不解析
$test
变量。)2mbi3lxu11#
有一件事:
需要注意的是,结束标识符为heredoc的行不能包含其他字符,除了分号(;)。这尤其意味着标识符不能缩进,分号前后不能有空格或制表符。
例子:
r7knjye212#
单引号、双引号、herdoc引号和nowdoc引号示例