私はPHPプログラミングの専門家ではありませんが、PHP内のコードの一部が一重引用符で囲まれていることがあり、二重引用符で囲まれていることがあります。
私が知っているのは、.NET、またはC言語で、それが一重引用符で囲まれているのであれば、それは文字列ではなく文字列です。
PHP文字列 は、twoの方法だけでなく、 4つの方法。
\'
でエスケープでき、バックスラッシュを表示するには、別のバックスラッシュ\\
でエスケープできることです(単一引用符で囲まれた文字列が解析されます)。$type
があり、変数echo "The $types are"
を使用すると、変数$types
が検索されます。これを回避するには、echo "The {$type}s are"
を使用します。ドル記号の前または後に左中括弧を配置できます。 string parsing を見て、配列変数などの使用方法を確認してください。<<<
で始まります。この演算子の後、識別子が提供され、次に改行が提供されます。文字列自体が後に続き、再度同じ識別子が引用を閉じます。この構文では引用符をエスケープする必要はありません。<<<
シーケンスで識別されますが、その後の識別子は単一引用符で囲まれます。 <<<'EOT'
。 nowdocでは解析は行われません。速度:
一重引用符よりも二重引用符よりも高速であることを重視しません。特定の状況ではおそらくより高速です。ここに記事があります PHP 4. (セクションの一番下にあるUseless Optimizations
、セクションC
)以来、単一引用符と二重引用符が本質的に同等に高速である1つの方法を説明します。また、この benchmarks page には、単一引用符と二重引用符の比較があります。ほとんどの比較は同じです。二重引用符が単一引用符よりも遅い比較が1つあります。
物事は二重引用符で評価されますが、一重引用符では評価されません。
$s = "dollars";
echo 'This costs a lot of $s.'; // This costs a lot of $s.
echo "This costs a lot of $s."; // This costs a lot of dollars.
'
一重引用符文字列を指定する最も簡単な方法は、文字列を一重引用符で囲むことです。一重引用符は一般的に高速で、引用符で囲まれたものはすべて単純な文字列として扱われます。
例:
echo 'Start with a simple string';
echo 'String\'s apostrophe';
echo 'String with a php variable'.$name;
"
二重引用符文字列内でピリオドを使用してコードを区切る必要を回避するには、PHPに二重引用符を使用します(注:連結({}
)演算子を使用したくない場合は、変数を含めるために中括弧.
を使用します)。
例:
echo "Start with a simple string";
echo "String's apostrophe";
echo "String with a php variable {$name}";
はい。一重引用符を使用する方が少し速いです。
PHPは、一重引用符の内側にあるものを解釈するために追加の処理を使用しません。二重引用符を使用する場合、PHPは、文字列内に変数があるかどうかを確認するために解析する必要があります。
一重引用符で囲まれた文字列は、その中に解釈される変数を持っていません。二重引用符で囲まれた文字列はそうです。
また、二重引用符で囲まれた文字列にはバックスラッシュを付けずにアポストロフィを含めることができますが、一重引用符で囲まれた文字列にはエスケープしない引用符を含めることができます。
一重引用符で囲まれた文字列は解析する必要がないため、実行時に高速です。
PHPでは、'my name'
と"my name"
は両方とも文字列です。あなたはそれについての詳細を読むことができます PHPマニュアル 。
知っておくべきことは
$a = 'name';
$b = "my $a"; == 'my name'
$c = 'my $a'; != 'my name'
PHPでは、'a'
、'my name'
、'abc xyz'
のように一重引用符を使用して定数文字列を定義しますが、"a $b $c $d"
のような識別子を含む文字列を定義するのに二重引用符を使用します。
そして他にも、
echo 'my name';
より速いです
echo "my name";
しかし
echo 'my ' . $a;
より遅い
echo "my $a";
これは他の文字列の使用にも当てはまります。
<?php
$fname = "David";
// Single quotes
echo 'My name is $fname.'; // My name is $fname.
// Double quotes
echo "My name is $fname."; // My name is David.
// Curly braces to isolate the name of the variable
echo "My name is {$fname}."; // My name is David.
// Example of heredoc
echo $foo = <<<abc
My name is {$fname}
abc;
// Example of nowdoc
echo <<< 'abc'
My name is "$name".
Now, I am printing some
abc;
?>
PHPでは、一重引用符は文字列値と見なされ、二重引用符はそれらの値を置き換えて処理することによって変数を解析します。
$test = "variable";
echo "Hello Mr $test"; // the output would be: Hello Mr variable
echo 'Hello Mr $test'; // the output would be: Hello Mr $test
ここで、二重引用符は値を解析し、一重引用符は文字列値と見なされます($ test変数を解析せずに)。
どちらの種類の囲まれた文字も文字列です。ある種類の見積もりは、他の種類の見積もりを囲むために便利に使用されます。 "'"
と'"'
。引用符の種類の最大の違いは、囲まれた識別子の参照は内側の二重引用符で置き換えられ、内側の一重引用符では置き換えられないことです。
多分私は少し遅れて、そして少し話題から外れています、しかしここでそれはとにかく…
以下の文字列の内容のため、選択する必要はありません。alert("It's \"game\" time.");
またはalert('It\'s "game" time.');
代わりに、次のように入力してから二重引用符または一重引用符を使用できます。alert("It’s “game” time.");
およびalert('It’s “game” time.');