ベストアンサー
二重引用符で括って定義する文字列リテラルの中で二重引用符を(文字として)定義するためです。終端の二重引用符ではない(あくまでも文字としての二重引用符)とするために \" とエスケープして記述します。 RTFM. https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double 引用符で括った中で引用符を定義する・・・という時点で何らかのエスケープが必要なことは理解できますよね。 phpに限らずほとんどの言語がそういう仕様ですので、覚えておきましょう。
ちなみに・・・ エスケープが面倒なので変数を展開しないケースでは単引用符で括ることが多いですし、変数が混じるときには printf や sprintf を使ってエスケープしなくて済むようにします。 エスケープ処理はhtmlspecialcharsだの何だのとあちこちでやるので、文字列リテラルを書くくらいのことで悩まされたくない(苦笑
質問者からのお礼コメント
ああそうか……なるほど…… めちゃくちゃ基本的なことでしたありがとうございました
お礼日時:1/18 16:00