Pas*_*TIN 20
在PHP <= 5.2中,有3种语法用于声明字符串:
单引号:
特殊字符的变量和转义序列不会被扩展
例如 :
echo 'Variables do not $expand $either';
Run Code Online (Sandbox Code Playgroud)
将输出:
Variables do not $expand $either
Run Code Online (Sandbox Code Playgroud)
双引号:
双引号字符串最重要的特性是变量名称将被扩展.
例如 :
$a = 10;
echo "a is $a";
Run Code Online (Sandbox Code Playgroud)
将输出:
a is 10
Run Code Online (Sandbox Code Playgroud)
并且,与heredoc:
Heredoc文本的行为就像双引号字符串,没有双引号.这意味着heredoc中的引号不需要转义,
例如 :
$a = 10;
$b = 'hello';
$str = <<<END_STR
a is $a
and "b" is $b.
END_STR;
echo $str;
Run Code Online (Sandbox Code Playgroud)
会得到你:
a is 10
and "b" is hello.
Run Code Online (Sandbox Code Playgroud)
小智 5
" 带引号的字符串中的任何变量都将被解析。 ' 带引号的字符串中的任何变量都不会被解析,并且将按字面显示为变量名称。因此, PHP 处理 ' 带引号的字符串会稍微快一些。
$test = 'hello';
echo "this is a $test"; // returns this is a hello
echo 'this is a $test'; // returns this is a $test
Run Code Online (Sandbox Code Playgroud)
我会说使用 ' 引号,除非你想在字符串中包含变量。