PHPでの引用符の使い方

色々なWebページのソースコードや他人の書いたソースコードを見ていると、PHPはウェブ開発において何か書けば動くという言語の特性からか、

ソースコードの自由度が高く、その人それぞれに個性が出るコーディングをしているのが見られます。

その中で””(ダブルクォーテーション)と”(シングルクォーテーション)が混在していてどのように使い分けられているのだろうか、と気になりました。

大きな違いとしては引用符の中で「変数を展開するか」と「特殊文字が機能を発揮するか」の二つがありました。

「””」を使うとその引用符の中に変数を入れるとその変数の中身が展開されます。また特殊文字を入れると例えば改行したりなど、特殊文字の機能が働きます。逆に「”」の中では変数は変数名のまま、特殊文字も見た目通りの記号として処理されてしまいます。

試しに、echo文でその違いを見てみましょう。

function difference_quotation(){
  $foo = "foo";
  //「""」を使う場合
  echo "$foo ha foo\n desu";
  /*出力結果
  foo ha foo
  desu
  */
  //「''」を使う場合
  echo '$foo ha foo\n desu';
  /*出力結果
  $foo ha foo\n desu
  */
}

注)Webページで実行してしまうと改行が上手くされていないときもありますがそのときはソースコードの方で確認してください。

この違いを使い分ければ変数と文字列を同時に出力するときに接続の記号として「.」を使わなくていいことや 特殊文字の挙動を無視したいときなどに役立ちそうですね。

ちなみに「””」を使うと変数の中身にアクセスしに行ったり、処理が重くなる(らしい)ので単純な文字列を使うときは 「”」を利用した方がいいようです。