PHP中'和'有什么区别?

时间:2009-09-09 22:54:14

标签: php syntax

  

可能重复:
  PHP: different quotes?

简单问题:

php中'和'之间有什么区别?我什么时候应该使用?

6 个答案:

答案 0 :(得分:19)

PHP中有3 syntax used to declare strings< = 5.2:

使用单引号:

  

变量和转义序列   特殊字符不会   扩展

例如:

echo 'Variables do not $expand $either';

将输出:

Variables do not $expand $either


使用双引号:

  

最重要的特征   双引号字符串就是这样的事实   变量名将被扩展。

例如:

$a = 10;
echo "a is $a";

将输出:

a is 10


并且,使用heredoc:

  

Heredoc文本的行为就像一个   双引号字符串,没有   双引号。这意味着报价   在heredoc中不需要   逃脱,

例如:

$a = 10;
$b = 'hello';

$str = <<<END_STR
a is $a
and "b" is $b.
END_STR;

echo $str;

会得到你:

a is 10
and "b" is hello.

答案 1 :(得分:17)

基本上,单引号字符串是纯文本,几乎没有特殊情况,而双引号字符串具有可变插值(例如echo "Hello $username";)以及转义序列,例如“\ n”(换行符。)

您可以在PHP's manual中了解有关字符串的更多信息。

答案 2 :(得分:3)

“引用字符串”中的任何变量都将被解析。“引用字符串中的任何变量都不会被解析,并且将字面上显示为变量名。因此,引用的字符串对于PHP来说要快得多过程

$test = 'hello';
echo "this is a $test"; // returns this is a hello
echo 'this is a $test'; // returns this is a $test

除非你想要字符串中的变量,否则我会说'使用'引号。

答案 3 :(得分:1)

区别在于,双引号(“)之间的字符串被解析为变量和转义序列替换。单引号(')中的字符串不是。

所以,使用双引号(“)你可以这样做:

$count = 3;
echo "The count is:\t$count";

将产生

The count is:<tab>3

单引号中的相同内容返回文字字符串。

此外,需要转义的字符。如果你有一个字符串:

'John said, "Hello"'

你可能会使用单引号,以避免必须转义字符串中的引号,反之亦然。

答案 4 :(得分:0)

“解释转义字符和变量。”也没有。

答案 5 :(得分:0)

总而言之:当您希望所有特殊字符(例如 \ n )和变量(例如 $ number )被注意并处理时。