【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【PHP】シングルクォートとダブルクォートの違い

本記事では、PHPのシングルクォートとダブルクォートの違いについて解説しています。

PHPの学習におすすめ書籍
独習PHP 第4版
総合評価
( 5 )
メリット
  • PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
  • PHPによるWebアプリ開発の基礎・基本テクニックを学べる
楽天ブックス
¥3,740 (2024/11/20 10:27時点 | 楽天市場調べ)
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

違い① 変数を使用する時

1つ目のシングルクォートとダブルクォートの違いは、変数を使用する時に表れます。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
        $str = 'ラーメン';

        echo "私の好きな食べ物は{$str}です!";
        echo '<br />';
        echo '私の好きな食べ物は{$str}です!'
    ?>
</body>
</html>

上記のコードは変数$strにラーメンの文字を代入したものを、echoでブラウザに表示させる簡単なコードです。

私の好きな食べ物はラーメンです!
私の好きな食べ物は{$str}です!

ブラウザで表示を確認すると、ダブルクォートで囲んだ方は変数に代入されているラーメンが正しく表示されていますが、シングルクォートで囲んだ方は{$str}のまま表示されています。

このように、ダブルクォートでは変数を正しく展開してくれるがシングルクォートでは変数をそのまま文字列として扱ってしまう違いがあります。

違い② エスケープシーケンスを使用する時

1つ目のシングルクォートとダブルクォートの違いは、エスケープシーケンスを使用する時に表れます。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
        echo "明日は\t晴れるといいな!";
        echo '<br />';
        echo '明日は\t晴れるといいな!'
    ?>
</body>
</html>

上記のコードは文字列の途中に\t(タブ)を、挟んだものをechoでブラウザに表示させる簡単なコードです。

明日は 晴れるといいな!
明日は\t晴れるといいな!

ブラウザで表示を確認すると、変数の時と同様にダブルクォートで囲んだ方は\tがタブに変換され正しく表示されていますが、シングルクォートで囲んだ方は\tのまま表示されています。

このように、ダブルクォートではエスケープシーケンスを認識してくれるがシングルクォートではエスケープシーケンスをそのまま文字列として扱ってしまう違いがあります。

シングルクォートとダブルクォートどちらを使うべき?

ここまでの解説を見ると、シングルクォートよりもダブルクォートの方が遥かに優れているため、シングルクォート使わなくてもいいんじゃね?と思いますが、処理速度はダブルクォートよりもシングルクォートの方が1.2倍程度速いです。

そのため、変数展開などをする時はダブルクォートを使用し文字列だけを出力したい時はシングルクォートを使用するのが好ましいです。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次