ホームページ  >  記事  >  バックエンド開発  >  phpの記号<<<とは何ですか?

phpの記号<<<とは何ですか?

WBOY
WBOYオリジナル
2016-06-23 14:01:023258ブラウズ

php の <<< 記号は何ですか?


ディスカッションへの返信 (解決策)

区切り文字エコー << 私の名前は「$name」です。 $ foo->foo
ここで、いくつかの {$foo->bar[1]} を出力します
これは、x41
?>


を出力します。文字列の区切り方法には、区切り文字構文 (「<<<」) が使用されます。 <<< の後に識別子を指定し、次に文字列を指定し、同じ識別子で文字列を終了する必要があります。

区切り文字

文字列を区切るもう 1 つの方法は、区切り文字構文 (「<<<」) を使用します。 <<< の後に識別子を指定し、次に文字列を指定し、同じ識別子で文字列を終了する必要があります。


終了識別子は行の最初の列から開始する必要があります。同様に、識別子は PHP の他のタグの命名規則に従う必要があります。識別子には英数字のアンダースコアのみが含まれ、アンダースコアまたは数字以外の文字で始まる必要があります。

ヒアドキュメント構文構造: <<<。プロンプトの後に、識別子を定義し、その後に新しい行を入力します。次に文字列自体が続き、最後に前に定義した識別子が終了マークとして使用されます。

最後に引用された識別子は行の先頭にある必要があり、識別子の命名は他のタグと同じ PHP ルールに従う必要があります。文字、数字、アンダースコアのみを含めることができ、数字や文字で始めることはできません。アンダースコア。
終了識別子の行には、セミコロン (;) を除く他の文字を含めてはいけないことに注意してください。これは、識別子をインデントしたり、セミコロンの前後に空白やタブを入れたりすることはできないことを意味します。さらに重要なのは、終了識別子の前にローカル オペレーティング システムで認識される改行ラベル (UNIX および Mac OS X システムの n など) を付ける必要があり、終了識別子 (セミコロンが付いている場合がある) の後にも改行ラベルを付ける必要があることです。ラベル。

このルールに従わず、終了タグが「クリーン」でない場合、PHP はそれが終了識別子ではないと判断し、検索を続けます。ファイルの終わりまでに正しい終了識別子が見つからない場合、PHP は最後の行で構文エラーを生成します。

Heredocs 構造体はクラスの初期化に使用できません。また、PHP 5.3 以降では、この制限は変数が含まれている場合にのみ使用できます。

例 #1 不正な例

class foo {
public $bar = << bar
}
?>
ヒアドキュメントの構造は double A を使用していないようなものです。二重引用符で囲まれた引用符の文字列。つまり、引用符はヒアドキュメント構造内で置換されませんが、上記の文字 (n など) も使用できます。変数は置換されますが、複雑な変数をヒアドキュメント構造内の文字列として表現する場合は注意してください。

例 #2 ヒアドキュメント構造文字列の例

$str = << ヒアドキュメント構文を使用した複数行にわたる文字列
の例

/* 変数が含まれています。 */ の複雑な例
class foo
{
var $bar;

function foo()
{
$this->foo = 'Foo'; 'Bar1', 'Bar2', 'Bar3');
}
}

$foo = new foo();
$name = 'MyName'

echo << $name"。 $foo->foo を出力しています。
今、{$foo->bar[1]} を出力しています。
これは大文字の 'A' を出力するはずです: x41
EOT;
? >
上記のルーチンは次のように出力します:

私の名前は "MyName" です。
これで Bar2 を出力します。 A にはヒアドキュメント構造体も含めることができます。データを転送するために関数パラメーターで使用されます:

例 #3 パラメーター内のヒアドキュメント構造の例

var_dump(array(<< foobar!
EOD
));
PHP 5.3.0 以降では、Heredoc 構造体を使用して静的変数、クラスの属性と定数を初期化することもできます:

例 #4 Heredoc 構造体を使用して静的な値を初期化する

// 静的変数
function foo()
{
static $bar = <<

区切り文字
1. PHP 区切り文字の機能は、改行形式などを含めて、その中にあるものをそのまま出力することです
2. PHP 区切り文字内の特殊文字はエスケープする必要がありません。通常、PHP の区切り文字はその値に置き換えられます。

これは、テキストの大部分を保存する場合に便利です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。