ホームページ >バックエンド開発 >PHPチュートリアル >PHP文字列の3つの定義形式
PHP 文字列を定義する 3 つの方法
PHP で文字列を定義するには、一重引用符、二重引用符、区切り文字の 3 つの方法があります。
1. 一重引用符: 単純な文字列を指定する最も簡単な方法は、一重引用符 (文字 ') で囲むことです。 一重引用符で囲まれた文字列内で一重引用符を表すには、他の多くの言語と同様に、バックスラッシュ () でエスケープする必要があります。一重引用符の前または文字列の末尾にバックスラッシュが必要な場合は、2 つのバックスラッシュを使用します。 一重引用符で囲まれた文字列では、他のすべての特殊文字が完全に表現されます。つまり、一重引用符で囲まれた文字列内にある変数とエスケープ シーケンスは、変数の値で置き換えられません。
2. 二重引用符: 文字列を二重引用符 (") で囲むと、PHP はさらに特殊な文字のエスケープ シーケンスを解析できます: n (改行 LF または ASCII 文字 0x0A (10))、r (Carriage return (CR または ASCII 文字 0x0D (13))、t (水平タブ HT または ASCII 文字 0x09 (9))、\ (バックスラッシュ)、$ (ドル記号)、" (二重引用符)、[0 -7]{1 ,3} (この正規表現シーケンスは 8 進表記で表される文字と一致します)、x[0-9A-Fa-f]{1,2} (この正規表現シーケンスは 16 進表記で表される文字と一致します) 基本表記)、他の文字をエスケープしようとすると、バックスラッシュ自体が表示されます。PHP 5.1.1 より前では、
文字列が二重引用符または区切り文字で指定されている場合、バックスラッシュは表示されません。 2 つの構文があり、1 つは単純なもので、もう 1 つは複雑なもので、変数、配列値、またはオブジェクトのプロパティを解析するためのメソッドが提供されます (ドル記号 ($) が出現すると、パーサーは後続の文字をできるだけ多く取得します)。名前を明示的に指定したい場合は、右括弧 (]) が変数名の終わりを示します。ただし、オブジェクトの変数のようなトリックはありません。 property)
PHP 4 で導入された複雑な構文では、式を中括弧で囲むことができます (実際、この構文を使用して、名前空間の値に何でも含めることができます)。 「{」はエスケープできないため、この構文は { の後に $ が続く場合にのみ認識されます (リテラルの「{$」を取得するには「{$」を使用します)。例: ${ test},{$test['t']['e']['s']['t']}, {$test->test})
3. 区切り文字: 別の方法文字列を区切るには、PHP 4 で追加された区切り文字構文 (「<<<」) を使用します。<<< の後に識別子を指定し、その後に同じ識別子を指定して文字列を終了する必要があります。 PHP の他のタグの命名規則にも従う必要があります。タグには英数字のアンダースコアのみを含めることができ、アンダースコアまたは数字以外の文字で開始する必要があります。識別子の終了行には他のタグを含めることはできないことに注意してください。セミコロン (;) を除く文字。これは特に、識別子をインデントできないこと、およびセミコロンの前後にスペースやタブを含めることができないことを意味します。終了識別子の前の最初の文字は、オペレーティング システムで定義されている改行文字でなければならないことを認識することも重要です。たとえば、Macintosh システムでは r です。 このルールに違反して終了識別子が「クリーン」でなくなると、それは終了識別子とみなされず、PHP はそれを探し続けます。この場合、適切な終了識別子が見つからないと、スクリプトの最後の行で構文エラーが発生します。 クラスのメンバーは、区切り文字構文を使用して初期化できません。代わりに他の文字列構文を使用してください。
区切り文字で区切られたテキストは、二重引用符で囲まれた文字列のように動作しますが、二重引用符はありません。つまり、区切りテキスト内で引用符をエスケープする必要はありませんが、上記のエスケープ コードは引き続き使用できます。変数は展開されますが、複雑な変数を区切りリテラルで表現する場合は、文字列の場合と同じ注意が必要です。