フルスタックエンジニアのノウハウ

シングルクォートとダブルクォートが混在する場合の考え方

シングルクォートとダブルクォートが混在する場合の考え方

''.$item->title.''などのようにシングルクォートとダブルクォートが混在すると、よく分からなくなります。最初のシングルクォートはどこで終わっていて、どういう役割を担っているのか、ダブルクォートはどれと結びついているのか、どういった役割のために書かれているのかなど。どのように理解すれば宜しいでしょうか?

 

というご質問を頂きました。

シングルクォートとダブルクォートの混在は
混乱する要素の1つですね。

ポイントは、

1.PHPによって処理が行われた後
 ↓
2.HTMLが描画される

という処理の流れを理解することです。


今回の例で言うと、最終的に描画したいHTMLは以下のようになります。


タイトル


つまり、ダブルクォートは最終的に出力されるHTMLの一部であり、
PHP処理の段階ではただの文字列です。


PHP処理の段階では、リンク先URLとタイトルは
不確定であるため変数を使っています。

逆に、変数以外の部分はPHPでは「文字列」という扱いになるため
シングルクォートで囲む必要があります。

つまり、以下のようなデータ群になるわけです。

[データ1(文字列)]''
[データ4(変 数)]$item->title
[データ5(文字列)]''

これらを連結するため、ドットで繋げたのが
以下の1行となります。

''.$item->title.''

ご参考になれば幸いです。

無料メルマガ配信中