php语法问题

时间:2011-01-06 05:17:54

标签: php

  

可能重复:
  Difference between single quote and double quote string in php

php中的单引号'和双引号"有什么区别?我的想法是当一个人使用单引号时,其中有一些核心价值需要在程序中使用,如果双引号只是一个字符串。我是对的吗?

5 个答案:

答案 0 :(得分:4)

最大的区别是,如果使用双引号,字符串内的任何变量或特殊转义码都将被扩展;而使用单引号时,不会发生扩展。

示例:

$var = "foobar";
echo $var; // "foobar"
echo '$var'; // "$var"
echo "$var"; // "foobar"

echo '\n'; // "\n"
echo "\n"; // prints an actual new line

有关差异的完整列表,请参阅有关字符串的PHP文档:http://us3.php.net/manual/en/language.types.string.php

答案 1 :(得分:2)

使用双引号创建的字符串将由PHP解析,单引号中的字符串不会。还有其他差异,例如对于双引号中的字符串,PHP将解释特殊字符的转义序列。 PHP manual完整地解释了这些差异。

例如,

$string = 'World';
echo 'Hello' . $string; // "Hello World"
echo "Hello $string"; // "Hello World"
echo 'Hello $string'; // "Hello $string"

答案 2 :(得分:0)

除了已经描述的变量扩展之外,双引号还解释\n(作为换行符),\t(作为制表符)和其他转义序列defined in the manual。单引号仅将\\解释为一个反斜杠,将\'解释为单引号,其他组合从字面上理解 - 即strlen('\n') == 2strlen("\n") == 1

答案 3 :(得分:0)

这两者之间的主要区别是用双引号创建的字符串将由PHP和单引号解析。

// they both output 'Yahoo Google'
$str = 'Google';
echo 'Yahoo' . $str;
echo "Yahoo $str";

了解更多相关信息,请参阅以下链接

http://ca.php.net/types.string

答案 4 :(得分:0)

除了在其他答案中提到的内容之外,如果您使用单引号',则内部双引号将被视为普通字符,无需转义,反之亦然。

例如,两者都会打印He said, "Hi there Jack"

echo 'He said, "Hi there Jack"';  

echo "He said, \"Hi there Jack\"";