文字列が二重引用符 (") で括られた場合、 PHP は、より多くの特殊文字のエスケープシーケンスを理解します。
表 エスケープされた文字
記述 | 意味 |
---|---|
\n |
ラインフィード (LF またはアスキーの 0x0A (10)) |
\r |
キャリッジリターン (CR またはアスキーの 0x0D (13)) |
\t |
水平タブ (HT またはアスキーの 0x09 (9)) |
\\ |
バックスラッシュ |
\$ |
ドル記号 |
\" |
二重引用符 |
\[0-7]{1,3} |
正規表現にマッチする文字シーケンスは、8 進数表記の 1 文字です。 |
\x[0-9A-Fa-f]{1,2} |
正規表現にマッチする文字シーケンスは、16 進数表記の 1 文字です。 |
この他の文字をエスケープしようとした場合には、 バックスラッシュも出力されます!
スクリプトが二重引用符で括られるかヒアドキュメントで指定された場合、 その中の変数はパースされます。
ドル記号 ($) を見付けると、 パーサは、有効な変数名を形成することが可能な最長のトークンを取得します。 変数名の終りを明示的に指定したい場合は、変数名を波括弧で括ってください。
$beer = 'Heineken'; echo "$beer's taste is great"; // 動作します。"'" は変数名として無効な文字です。 echo "He drunk some $beers"; // 動作しません。's' は、変数名として有効な文字です。 echo "He drunk some ${beer}s"; // 動作します。 echo "He drank some {$beer}s"; // 動作します。 |
同様に、配列添字とオブジェクトのプロパティをパースすることも可能です。 配列添字の場合、閉じ角括弧 (']') は添字の終りを意味し、 オブジェクトのプロパティの場合、同じ規則が簡単な変数として適用されます。 しかし、オブジェクトプロパティには、変数の場合のような手法はありません。