2011-01-06 25 views

答えて

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

2

文字列はPHPによって解析され、単一引用符で囲まれた文字列はしません。二重引用符で囲まれた文字列の場合、PHPは特殊文字のエスケープシーケンスを解釈します。 PHP manualは完全な違いを説明しています。既に説明した可変膨張に加え

例えば

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

、二重引用符は、(改行など)、\t(タブなど)\n及び他のエスケープシーケンスdefined in the manualを解釈します。これら二つの間の主な違いは、二重引用符で作成した文字列がwoはPHPおよび単一引用符によって解析される、すなわちstrlen('\n') == 2strlen("\n") == 1

0

- 唯一の単一引用符として\\一つとしてバックスラッシュと\'を解釈し、他の組み合わせは、文字通りに理解されている単一引用符'nt。これらの詳細について

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

リンク

別に他の回答に記載されているものから

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

0

の下を参照してください。あなたは、単一引用符'を使用している場合、内部の二重引用符は通常の文字として扱われ、エスケープする必要はなく、逆も同様である。

例えば両方が印刷されますHe said, "Hi there Jack"

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

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