PHPで文字列を扱う場合は文字列をシングルクォーテーション(')とダブルクォーテーション(")で囲みます。また、ダブルクォーテーションで文字列を囲んだ場合はその中で変数やエスケープシーケンスが利用でき、 シングルクォーテーションで囲んだ場合は変数やエスケープシーケンスはそのままの文字として扱われます。
この記事の目次です。
1. PHPのシングル/ダブルクォーテーションとは
2. シングル/ダブルクォーテーションの挙動
3. シングル/ダブルクォーテーションの違い
4. エスケープシーケンス(特殊文字のエスケープ)
5. シングル/ダブルクォーテーションの処理速度の差
PHPで文字列の値を表すときは、シングルクォーテーション(')またはダブルクォーテーション(")で囲みます。
シングル/ダブルクォーテーションとは、
です。
以下は、PHPのシングルクォーテーション(')とダブルクォーテーション(")を使用したサンプルプログラムです。
シングルクォーテーション(')とダブルクォーテーション(")の両方に変数とエスケープシーケンスを記述しています。
<?php $hensuu = "World"; $str1 = 'Hello $hensuu!\n'; $str2 = "Hello $hensuu!\n"; print $str1; print $str2; print "\n"; ?>
PHPがインストールされている環境でphpコマンドを使用して実行します。 ここでは、sample.phpというファイル名で保存したソースファイルを実行しています。
$ php sample.php Hello $hensuu!\n Hello World!
シングルクォーテーション(')の場合は$hensuuがそのまま表示され、ダブルクォーテーション(")は$hensuuに設定したWorldが表示されました。
シングルクォーテーション(')とダブルクォーテーション(")には違いがあります。
シングルクォーテーションで囲んだ場合は、ダブルコーテーションで囲んだ場合と違い、 文字列中で変数やエスケープシーケンスが利用できません。
ダブルクォーテーションで囲んだ文字列中では、変数が展開されます。 ダブルクォーテーションで囲むとその中で変数やエスケープシーケンスが利用できます。
エスケープシーケンスは、例えば改行を表す「\n」などの特殊なコードです。
PHPで変数に文字列の値を代入する場合は、シングルクォーテーション(')またはダブルクォーテーション(")のいずれかで囲んで代入できます。
ところで、PHPで改行を表す\nなどの特殊な文字や記号を使うにはどうしたらよいでしょうか。 答えはエスケープを行うです。
エスケープとは、プログラムで文字列を扱う際に、特定の記号文字などを別の解釈を行うようにする処理のことをいいます。
エスケープに用いる文字をエスケープシーケンスあるいはエスケープ文字といいます。
シングルクォーテーションで囲んだ場合は、特殊な文字や記号(エスケープシーケンス)はそのままの文字として扱われます。 文字列中に\nを記述すると\nが表示されます。
ダブルクォーテーションで囲んだ場合はエスケープシーケンスが使用できます。 文字列中に\nとすると改行が挿入されます。 また、エスケープシーケンスをそのままの文字で表示したい場合は特別な書き方で特殊文字を表す必要があります。
PHPでは、ダブルクォーテーションで囲んだ場合、以下に示すような\(半角円)から始まるエスケープシーケンスが利用できます。
文字 | エスケープシーケンス | エスケープシーケンスが表す文字 |
---|---|---|
\" | ダブルクォーテーション | |
\n | 改行 | |
\r | 復改 | |
\t | タブ | |
\\ | バックスラッシュ(半角円マーク) | |
\$ | ドル記号 | |
\{ | 左波括弧 | |
\} | 右波括弧 | |
\[ | 左角括弧 | |
\] | 右角括弧 | |
\0~\777まで | 8進数形式で表したASCII文字 | |
\x0~\xFFまで | 16進数形式で表したASCII文字 |
当然ですが、シングルクォーテーションの方が速いです。 ダブルコーテーションはエスケープシーケンスの処理などが行われるためシングルコーテーションで囲まれた文字列の処理です。 2倍近く速度差があるとも言われています。
PHPでは特殊文字を使用するなどの理由がない場合はシングルコーテーションを使用した方がよさそうですね。
プログラミング言語のPHPについてまとめています。読み方はピーエイチピーです。PHPとは?からやさしく説明しています。
更新履歴になります。
スポンサーリンク
サイト内のページ
言語
C・C++
/HTML
/Java
/JavaScript
/PHP
/シェルスクリプト
開発環境
Ant
/Burp
/Eclipse
/Fiddler
/gcc
/gdb
/Git
/g++
/JDK
/JMeter
/JUnit
/Teraterm
/ZAP
技術・仕様
Ajax
/CORBA
/Jakarta EE(旧称J2EE、Java EE)
/JNI
ライブラリ/Framework/CMS
bootstrap
/jQuery
/FuelPHP
/Lucene
/MyBatis
/Seasar2
/Spring
/Struts
/WordPress
Web API
Google Maps
ITインフラOSとミドルウェア
Linux
/Windows
/シェル
ActiveMQ
/Tomcat
/MariaDB
/MySQL
/Nagios
/Redis
/Solr
ITインフラセキュリティ
公開サーバーのセキュリティ
SI
ホームページの作り方
スポンサーリンク
関連サイト内検索ツール
zealseedsおよび関連サイト内のページが検索できます。
IPアドレス確認ツール
あなたのグローバルIPアドレスは以下です。
3.149.234.50
HTMLの表示色確認ツール
パスワード生成ツール
文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。
ここに生成されます。
スポンサーリンク
Copyright (C) 2007-2024 zealseeds. All Rights Reserved. Loarding…