【6日でできるPHP入門】エスケープシーケンス

 プログラムで特別な記号や制御文字を表示したいとき、または文字列内に記号そのものを表現したいときに使うのが「エスケープシーケンス」です。
 PHPでも「 \(バックスラッシュ)」を使って、通常はそのままでは使えない記号や意味を持つ文字を表現できます。この記事では、PHPでよく使うエスケープシーケンスの基本と使い方を解説します。

1.エスケープシーケンスとは

1.1. エスケープシーケンスの基本

エスケープシーケンスとは、バックスラッシュ(\)+特定の文字の組み合わせで、
「改行」「タブ」「記号そのもの」などを文字列中で表現できる仕組みです。

エスケープシーケンス意味例の出力
\n改行行が切り替わる
\tタブ空白(タブ)が入る
\\バックスラッシュそのもの\
\$$記号$
\"ダブルクォーテーション"
\'シングルクォーテーション'

1.2. 使い方と注意点

エスケープシーケンスは、ダブルクォーテーションで囲んだ文字列の中で有効です。
 シングルクォーテーションの場合、\n や \t はそのまま文字列として扱われ、特別な意味を持ちません(一部例外を除く)。

2.主なエスケープシーケンスとサンプル

2.1. よく使うエスケープシーケンス

エスケープ説明使用例出力例
\n改行echo "A\nB";A
B
\tタブecho "A\tB";A B
\\\の出力echo "C:\\xampp\\htdocs";C:\xampp\htdocs
\$$の出力echo "金額: \$100";金額: $100
\""の出力echo "彼は\"OK\"と言った。";彼は"OK"と言った。
\''の出力echo 'It\'s PHP!';It's PHP!

サンプル1:複数のエスケープシーケンス利用

ファイル名: lesson26_1.php

<?php
echo "ユーザー名:\$user\n";
echo "パス:C:\\xampp\\htdocs\n";
echo "「こんにちは」と\"挨拶\"しました。\n";
?>

実行結果(コマンドライン/テキストとして見た場合)

3.変数展開との併用例

 PHPではダブルクォーテーションで囲んだ文字列内で変数の展開やエスケープシーケンスを同時に利用できます。

サンプル2:変数展開とエスケープの組み合わせ

ファイル名: lesson26_2.php

<?php
$name = "山本さん";
echo "ユーザー名は {$name}\nID: \$id\n";
?>

実行結果(コマンドライン/テキストとして見た場合)

4.そのほかのエスケープシーケンス

エスケープシーケンス意味
\rキャリッジリターン(復帰)
\(((半角左カッコ)
\))(半角右カッコ)
\{{(左波カッコ)
\}}(右波カッコ)

※ (\) , {\} などは実際にはそのまま出力できる場合もありますが、特定の文脈ではエスケープすることで確実に文字通り表示できます。

まとめ

  • エスケープシーケンスは、通常の記述では表現しにくい記号や改行、タブなどをバックスラッシュで表現できる。
  • 主にダブルクォーテーション内で有効。変数の展開とも組み合わせ可能
  • よく使うもの:\n(改行)、\t(タブ)、\\(\)、\$($)、\"(")など

エスケープシーケンスを上手く活用することで、柔軟にテキストやメッセージをコントロールできます。