文字列リテラルを作成する

1 つまたは複数の文字を組み合わせたものが文字列リテラルです。「こんにちは」など何かメッセージを出力するときにメッセージを定義するために使用されます。ここでは PHP で文字列リテラルを作成する方法について解説します。

文字列リテラルを作成する

文字列リテラルというのは文字列型の値という意味です。文字列をプログラムの中で記述する場合、 1 つまたは複数の文字の集まりをシングルクオーテーション( ' )又はダブルクオーテーション( " )で囲って記述します。

'文字列'
"文字列"

例えば次のように記述します。

'Hello World'
"東京都千代田区"

どちらを使ってもいいのですが、文字列の中で変数を展開するかどうかの扱いが異なります。詳しくは別のページで解説します。

文字列は変数に代入して利用することもできます。

$msg = 'Hello World';
$pref = "東京都";

変数については「変数」で詳しく解説します。

文字として「'」や「"」を使う

文字列の中で文字としてシングルクオーテーション( ' )やダブルクオーテーション( " )を使用したい場合、使いたい文字とは異なる方を使用して文字列を作成してください。例えばシングルクオーテーション( ' )を文字列の中で使いたい場合はダブルクオーテーション( " )で囲ってください。

〇 '今日は"出勤日"です'
〇 "I'm a student"

例えばシングルクオーテーション( ' )を文字列の中で使うときにシングルクオーテーション( ' )で囲うような使い方はできません。

× "今日は"出勤日"です"
× 'I'm a student'

どこからどこまでが文字列なのか分からなくなるためです。

なお文字として " や ' を文字列の中で使いたい場合や、同時に両方を使いたい場合にはバックスラッシュ( \ )を使ってエスケープを行う方法もあります。例えばシングルクオーテーション( ' )で囲った文字列の中でシングルクオーテーション( ' )を使う場合は ' と書く代わりに \' のように ' の前に \ を記述します。

〇 "今日は\"出勤日\"です"
〇 'I\'m a student'

同じ文字列の中で " と ' の両方を使用したい場合にはこの方法を使ってください。

サンプルコード

では簡単なプログラムで試してみます。

<?php
echo "こんにちは\n";
echo 'お元気ですか?'.PHP_EOL;
echo "犬の名前は\"タロウ\"です";

作成したプログラムを sample.php として保存しました。その後でコマンドプロンプトを起動し、次のように実行しました。

php sample.php

文字列リテラルを作成する(1)

プログラムの中で作成した文字列が画面に出力されました。

※ ダブルクォーテーションを使用した場合は改行するときに「\n」を使用できますが、シングルクォーテーションの場合は「\n」と記載してもそのままの文字として扱われるため改行されません。その為、シングルクォーテーションを使う場合は改行を表す PHP_EOL を連結しています。詳しくは「エスケープシーケンスの種類と使い方」を参照されてください。

-- --

PHP で文字列リテラルを作成する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。