PHP エスケープシーケンスのサンプル

PHPのエスケープシーケンスのサンプルです。

確認環境
・PHP 7.1.8

目次

エスケープシーケンス

  • 特殊な意味を持つ文字を表すために使用します。
  • 文字の先頭にバックスラッシュ(¥円記号)を付けます。
  • 以下は、PHPマニュアルのエスケープシーケンスのリンクです。
    http://php.net/manual/ja/regexp.reference.escape.php
主なエスケープシーケンス
文字 説明
¥' シングルコーテーション
¥" ダブルコーテーション 
¥t タブ
¥¥ 円記号
¥$ $記号
¥n 改行 (LF)
¥r 復帰 (CR)
¥ooo oooにはASCII文字の8進数3桁のコードが入ります
→ASCII文字が表示されます
¥xhh hhにはASCII文字の16進数2桁のコードが入ります
→ASCII文字が表示されます

コード

サンプルのコードです。
5,9行目はエスケープシーケンスを使わない例です。
21行目の改行は、ブラウザの画面で見ると改行されていません。 画面を右クリックしてソースを見ると改行されています。

<?php

// シングルコーテーションを表示
echo 'あいう\'えお<br />'; //あい'うえお
echo "あいう'えお<br />";  //あい'うえお

// ダブルコーテーションを表示
echo "あいう\"えお<br />"; //あい"うえお
echo 'あいう"えお<br />';  //あい"うえお

// タブを表示
echo "あいう\tえお<br />"; //あい	うえお

// バックスラッシュ(円記号)を表示 
echo "あいう\\えお<br />"; //あい\うえお

// $を表示 
echo "あいう\$えお<br />"; //あい$うえお

// 改行を行う
echo "あいう\nえお<br />"; //「う」の後に改行が入る

// ASCII文字の8進数3桁のコードでASCII文字を表示
echo "\101<br />"; //A
echo "\101\102<br />"; //AB

// ASCII文字の16進数2桁のコードでASCII文字を表示
echo "\x41<br />"; //A
echo "\x41\x42<br />"; //AB

?>

シングルコーテーションとダブルコーテーションで囲んだときの挙動の違い

シングルコーテーションとダブルコーテーションで囲んだときの挙動の違いのサンプルです。
2行目は、変数に値をセットしています。
4行目は、文字列をシングルコーテーションで囲んでいます。変数名がそのまま表示されています。
6行目は、文字列をダブルコーテーションで囲んでいます。変数の値が表示されています。

<?php
$test1 = "a";

echo 'あ $test1<br />'; // あ $test1

echo "あ $test1<br />"; // あ a
?>

nl2br関数

上記コード16行目の改行のエスケープシーケンスは画面で改行されませんが
nl2br関数を使用するとブラウザの表示とソース上で改行されます。

<?php

echo "あい";
echo nl2br("\n");
echo "うえお";

?>

以下は、PHPマニュアルのnl2br関数のリンクです。
http://php.net/manual/ja/function.nl2br.php

関連の記事

PHP if文のサンプル
PHP while文とdo…while文のサンプルのサンプル
PHP 配列の値をループで取得するサンプル(foreach文)
PHP 関数のサンプル

△上に戻る