文字列リテラルを作成する
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
プログラムの中で作成した文字列が画面に出力されました。
※ ダブルクォーテーションを使用した場合は改行するときに「\n」を使用できますが、シングルクォーテーションの場合は「\n」と記載してもそのままの文字として扱われるため改行されません。その為、シングルクォーテーションを使う場合は改行を表す PHP_EOL を連結しています。詳しくは「エスケープシーケンスの種類と使い方」を参照されてください。
-- --
PHP で文字列リテラルを作成する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。