カスタム検索
トップページ >PHP入門 >『''』と『""』

PHPでの『''』と『""』の扱い

文字を表示するには、『'』と『'』あるいは、『"』と『"』で囲んで表示したい文字を記述しますが、『'』、『"』自身を表示したい場合はどうしたものでしょう?

『'』を表示したい場合は、『"』と『"』で囲み、『"』を表示したい場合は、『'』と『'』で囲めば、表示することができます。

<?php
// 『'』を表示させる
echo "'";

// 『"』を表示させる
echo '"';

エスケープ文字(エスケープシーケンス)

通常では表せない文字や、プログラム中で特別な意味を持つ(『'』や『"』のような)文字をエスケープ文字といいます。エスケープ文字を表示するには、『\』(バックスラッシュ)を表示したい文字の前に付加します。

『\』はWindows環境では¥記号で表します。この文章は、Windowsで見ている人には意味不明と思います。ですので、Windowsなど使うのは止めたほうがよいのです。
<?php
echo '\'';    // 『'』を表示させる

echo "\"";    // 『"』を表示させる

echo '\\';    // 『\』自体を表示させる
echo "\\";    // 『\』自体を表示させる

『"』のエスケープ文字

『"』には、『'』よりも多くのエスケープ文字があります。

<?php
/*
 * 『"』の代表的なエスケープ文字
 */

echo "\n";    // ラインフィールド
echo "\t";    // タブ
echo "\r";    // キャリッジリターン
echo "\$";    // ドル

Hello World!の例で、改行させるには次のように記述すれば良いということになります。

hello.php
<?php
// 『Hello World!』と表示させる
echo "Hello World!\n";
?>

『"』を使用すると、変数も内容での表示が可能です。変数については次ページで説明します。

echo_variable.php
<?php
/**
 * 変数を使った例
 */

// Helloを代入
$message 'Hello';

// ダブルクォート
echo "$message World!\n";
// シングルクォート
echo '$message World!\n';
echo_variable.phpの実行結果
Hello World!
$message World!\n

『''』と『""』のどちらを使うのか?

『''』と『""』のどちらを使えば良いのか迷うところでしょう。基本的には『''』を使うほうが良いです。それは、『""』には、『''』よりも多くのエスケープ文字があるため、実行において余計な処理が必要だからです(実際に体感できるほど大きな差が出る訳ではありませんが)。

では、『''』を使いつつ、改行もさせたい場合はどうしたものでしょうか?それには、文字列を結合する『.』(ピリオド)を使用すると良いです。

文字列結合演算子『.』

『.』は文字列と文字列を連結します。文字列結合演算子といいます。

エスケープ文字のみ、『""』で囲み、その他の文字列は『''』で囲みます。

concat.php
<?php
/**
 * 文字列を結合する
 */

// 文字列を結合するには『.』を使います
echo 'HelloWorld!' "\n";

// 次のようにもできます
echo 'Hello' 'World!' "\n";

// 普通は次のようにはしません
echo 'Hel' 'lo' 'Wor' 'l' 'd' '!' "\n";
concat.phpの実行結果
HelloWorld!
HelloWorld!
HelloWorld!

『.』の前後の文字列との間にスペースを入れていますが、これは、コードを読みやすくするためです。適宜このようなスペースを挿入してください。

レンタルサーバーなら使えるねっと
CopyLeft 2010 PEABOX.COM サイト管理者に連絡