文字列リテラル

プログラムに文字列を記述する際に、『ここから、ここまでは、文字列ですよ』といったことを示す必要があります。この場合は、文字列をシングルクオテーションとダブルクオテーションで囲います。これは文字列リテラルと呼ばれます。

シングルクオテーションとダブルクオテーション

以下の例で、出力する文字列をシングルクオテーションとダブルクオテーションを囲っています。

<?php

	//シングルクオテーションで囲っています。
	echo 'こんにちは!<br />';

	//ダブルクオテーションで囲っています。
	echo "こんばんは!<br />";

?>

◆実行結果
こんにちは!
こんばんは!

シングルクオテーションとダブルクオテーションともに文字列を囲うために使用しますが、少し動作が異なります。ダブルクオテーションで囲われた変数は展開され、シングルクオテーションで囲った変数は単なる文字列として認識されます。

<?php

	//シングルクオテーションで囲っています。
	echo 'こんにちは!<br />';

	//ダブルクオテーションで囲っています。
	echo "こんばんは!<br />";

?>

◆実行結果
$aisatu1
こんばんは!

上記のように、ダブルクオテーションで囲われた変数は展開され、変数として扱われていることがわかります。また、シングルクオテーションとダブルクオテーションで囲った文字列は改行して記述することが可能です。この場合、文字列の出力結果にも改行コードが含まれています。

<?php

	//シングルクオテーションで囲っています。
	echo 'こ
ん
に
ち
は!
<br />';


	//ダブルクオテーションで囲っています。
	echo "こ
ん
ば
ん
は!
<br />";

?>

◆実行結果
こ
ん
に
ち
は!

こ
ん
ば
ん
は!

ヒアドキュメント

複数の文字列を記述する場合にヒアドキュメントという方法があります。ヒアドキュメント内では、ダブルクオテーション動揺に変数は展開されます。ヒアドキュメントの処理として、「<<< 任意の文字列」から「任意の文字列」で囲われた間は文字列として扱われます。以下の例ではヒアドキュメントで囲った文字列を関数 echo() の引数として渡しています。

<?php

echo <<< Document
おはようございます。<br />
今日はいいお天気ですね。
Document

?>

◆実行結果
おはようございます。
今日はいいお天気ですね。

なお、上記の Document は任意の文字列です。任意ですのでユーザがわかりやすいよう変更できます。また、ヒアドキュメントの大きな特徴として変数が展開されることです。確認してみましょう。

<?php

$aisatsu = "おはようございます。";
echo <<< Document
変数を出力してみましょう。<br />
$aisatsu
Document

?>

◆実行結果
変数を出力してみましょう。
おはようございます。

ヒアドキュメント内の変数は、展開されたことがわかります。

[対象]
PHP 5.x