通常、PHP の変数が単一引用符で囲まれている場合、それらは文字列として扱われます。
echo '$variable';
$variable という単語が実際に画面に表示されます。
では、なぜこの文字列が解析されるのでしょうか。
echo "'$variable'";
そのコードは実際に変数の値をエコーします。何故ですか?まだ一重引用符で囲まれているのに、なぜまだ解析されるのでしょうか?
文字列は二重引用符で囲まれています。単一引用符は、文字列の区切り文字の一部ではなく、文字列の内容の一部です。したがって、一重引用符には意味的な意味はありません。
あなたの質問は、文字列について根本的な誤解をしている可能性があることを示しています。これで結構です!文字列は驚くほど複雑なエンティティであり、C のような低レベルの言語を学んだ場合にのみ、より複雑になります。一般的な文字列と PHP の両方で文字列について読むことに時間を費やすことをお勧めします。正直なところ、このタスクでは厳選されたリストよりも、いくつかの簡単な Google 検索の方が優れています。
二重引用符も含まれているためです。引用符の最も外側の層は、文字列の種類を示します。
これは、2 つの単一引用符文字を含む二重引用符で囲まれた単純な文字列です。二重引用符で囲まれると、パーサーにとって意味がなくなります。
一重引用符は二重引用符の中にあるためです。二重引用符内はすべて評価されます。したがって、echo ステートメントには、二重引用符内の文字列が渡されます。
この文字列が評価されて出力されます。一重引用符と変数が含まれています。
代わりにこれを試してください:
<?php
$var = 10;
echo '"$var"';
?>