2015年9月4日

PHP ダブルコーテーションとシングルクォーテーションの違い

«
»

Pocket

PHPのプログラムを書いたり、サンプルを見ているとダブルコーテーションを
使っていたり、シングルクォーテーションを使っていたりと違いが見られます。
 

<?php

$a = "aaa";
$b = 'bbb';

echo $a;
echo "<br>";//改行
echo $b;

実行結果

上のプログラムの場合、ダブルコーテーションを使っても
シングルクォーテーションを使っても実行結果としては同じです。
 
PHP ダブルコーテーション
 
では、何が違うのでしょうか?
2つのケースから違いを説明したいと思います。

1.シングルクォーテーションを表示したい場合

<?php

$c = "'aaa'"; //ダブルコーテーションの内側にシングルクォーテーション

echo $c;

実行結果

PHP シングルクォーテーション表示
 
このプログラムではシングルクォーテーションを表示することができました。
つまり、シングルクォーテーションを表示したい場合は外側を
ダブルコーテーションで囲む
必要があります。
 
逆に、ダブルコーテーションを表示したい場合は以下の様に書きます。
 

<?php

$d = '"aaa"'; //シングルクォーテーションの内側にダブルコーテーション

echo $d;

実行結果

スクリーンショット 2015-09-04 8.20.55

このようにシングルクォーテーションやダブルコーテーションを
表示したい場合はうまく使い分ける必要があります。

2.変数を展開したい場合

変数を展開・・・聞きなれない言葉だと思いますがまずはサンプルを
見てみましょう。
 

<?php

$a = 1 + 4; 

echo "計算結果は $a です。"; //ダブルコーテーションで囲む
echo "<br>";
echo '計算結果は $a です。'; //シングルクォーテーションで囲む

実行結果

スクリーンショット 2015-09-04 8.29.31
 
実行結果に違いがあるのがわかると思います。
ダブルコーテーションで挟んだ方は変数の中身が表示され、
シングルクォーテーションで挟んだ方は $a という文字が表示されます。
 
ダブルコーテーションの方の変数の中身が表示されることを
変数の展開」と呼びます。

まとめ

シングルクォーテーションとダブルコーテーションの違いは
大きく分けて2つあります。
 

1.シングルクォーテーションやダブルコーテーションを表示したい場合
2.変数の展開を行うかどうか(行うならダブルコーテーション)

 
ちなみに、このブログでは通常ダブルコーテーションを利用しています。

【関連する記事】

    None Found