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

この記事は約 2 分 で読むことができます。

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

 

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

ポイントは、

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

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

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

<a href="リンク先URL">タイトル</a>

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

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

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

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

[データ1(文字列)]'<a href="'
[データ2(変 数)]$item->link
[データ3(文字列)]'">'
[データ4(変 数)]$item->title
[データ5(文字列)]'</a>'

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

'<a href="'.$item->link.'">'.$item->title.'</a>'

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

シングルクォートとダブルクォートが混在する場合の考え方
この記事はあなたのお役に立てましたか?

この記事があなたのお役に立てましたら、
いいね!クリックをお願いします!

あなたも楽しくプログラミングを学んでみませんか?

コメントを残す