php语法问题

php语法问题,php,Php,可能重复: 单引号“和双引号“在php中?我的想法是,当使用单引号时,程序中需要使用一些核心值,如果是双引号,它只是一个字符串。我说的对吗?最大的区别是,如果使用双引号,字符串中的任何变量或特殊转义码都将展开;而对于单引号,则不会发生扩展 例如: $var = "foobar"; echo $var; // "foobar" echo '$var'; // "$var" echo "$var"; // "foobar" echo '\n'; // "\n" echo "\n"; // pri

可能重复:


单引号
和双引号
在php中?我的想法是,当使用单引号时,程序中需要使用一些核心值,如果是双引号,它只是一个字符串。我说的对吗?

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

例如:

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

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

有关字符串的完整差异列表,请参见PHP文档:

最大的差异是,如果使用双引号,字符串中的任何变量或特殊转义码都将展开;而对于单引号,则不会发生扩展

例如:

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

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

有关字符串的完整差异列表,请参见PHP文档:

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

比如说,

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

用双引号创建的字符串将被PHP解析,而单引号中的字符串则不会。还有其他区别,例如对于双引号中的字符串,PHP将解释特殊字符的转义序列。这篇文章完整地解释了这些差异

比如说,

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

除了已经描述的变量展开外,双引号还解释
\n
(作为换行符)、
\t
(作为制表符)和其他转义序列。单引号仅将
\
解释为一个反斜杠,
\'
解释为单引号,其他组合按字面理解,即
strlen('\n')==2
strlen(“\n”)==1

,除了已经描述的变量展开之外,双引号还将
\n
(作为新行)解释,
\t
(作为选项卡)和其他转义序列。单引号仅将
\
解释为一个反斜杠,
\'
解释为单引号,其他组合按字面理解,即
strlen('\n')==2
strlen(“\n”)==1

这两个字符串的主要区别在于,用双引号创建的字符串将由PHP解析,而单引号不会

// they both output 'Yahoo Google'
$str = 'Google';
echo 'Yahoo' . $str;
echo "Yahoo $str";
有关这些的更多信息,请参见下面的链接


这两种方法的主要区别在于,PHP将解析使用双引号创建的字符串,而不使用单引号

// they both output 'Yahoo Google'
$str = 'Google';
echo 'Yahoo' . $str;
echo "Yahoo $str";
有关这些的更多信息,请参见下面的链接


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

例如,两者都将打印
他说,“你好,杰克”


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

例如,两者都将打印
他说,“你好,杰克”