答えてください $out = <<
END;
echo $out;
これはどういう意味ですか?
-----解決策---------
文字列 $out php heredoc
http://apps.hi.baidu.com/share/detail/15604411 が定義されています
------解決策---------------------- ヒアドキュメント構造
3番目 一方通行文字列を定義するには、ヒアドキュメント構文構造 <<< を使用します。プロンプトの後に、識別子を定義し、その後に新しい行を入力します。次に文字列自体が続き、最後に前に定義した識別子が終了マークとして使用されます。
の最後に引用された識別子は行の先頭にある必要があり、識別子の命名は他のタグと同じ PHP ルールに従う必要があります。文字、数字、アンダースコアのみを含めることができます。アンダースコアで始まる数字は使用できません。
警告
セミコロン (;) の可能性を除き、終了識別子の行には他の文字を含めてはいけないことに注意してください。これは、識別子をインデントしたり、セミコロンの前後に空白やタブを入れたりすることはできないことを意味します。さらに重要なのは、終了識別子の前にローカル オペレーティング システムで認識される改行ラベル (UNIX および Mac OS X システムの n など) を付ける必要があり、終了識別子 (セミコロンが付いている場合がある) の後にも改行ラベルを付ける必要があることです。ラベル。
このルールに従わず、終了タグが「クリーン」でない場合、PHP はそれが終了識別子ではないと判断し、検索を続けます。ファイルの終わりまでに正しい終了識別子が見つからない場合、PHP は最後の行で構文エラーを生成します。
ヒアドキュメント構造体はクラスの初期化に使用できません。PHP 5.3 以降では、この制限は変数を含む場合にのみ使用できます。
例 #1 不正な例
class foo {
public $bar = <<
bar
EOT;
}
?>
ヒアドキュメントの構造は、二重引用符のない二重引用符で囲まれた文字列のようなものです。これは、ヒアドキュメントの構造内で引用符は置換されませんが、上記の文字 (n など) も置換されることを意味します。利用可能。 変数は置換されますが、複雑な変数をヒアドキュメント構造内の文字列として表現する場合は注意してください。
例 #2 ヒアドキュメント構造の文字列の例
$str = <
EOD
複数行にわたる文字列
の例
ヒアドキュメント構文を使用します。
EOD;
/* 変数を使用したより複雑な例*/
class foo
{
var $foo;
var $bar;
function foo()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3') ;
}
}
$foo = new foo();
$name = 'MyName';
echo <<
My名前は "$name" です。$foo->foo を出力しています。
今、{$foo->bar[1]} を出力しています。
これにより、大文字の 'A ' が出力されるはずです。 : x41
EOT;
?>
上記のルーチンは次のように出力します:
私の名前は "MyName" です。Foo を印刷しています。
今、印刷しています。 Bar2.
これは大文字の 'A' を出力する必要があります: A
ヒアドキュメント構造体は、データを送信するために関数パラメーターでも使用できます:
例 #3 パラメーター内のヒアドキュメント構造体の例
< ;?php
var_dump(array(<<
foobar!
EOD
));
?>
PHP 5.3.0 以降では、次のこともできます。 Heredoc 構造体を使用して静的変数、クラス属性と定数を初期化します:
例 #4 Heredoc 構造体を使用して静的値を初期化します
// 静的変数
function foo()
{
static $bar = <<
ここには何もありません...
LABEL;
}
// class Constant 、attribute
class foo
{
const BAR = <<
定数の例
FOOBAR;
public $baz = <<< ; FOOBAR
プロパティの例
FOOBAR;
}
?>
PHP 5.3.0 では、ヒアドキュメント構造内の識別子を宣言するために二重引用符も使用されます。
例#5 ヒアドキュメント構造での二重引用符の使用
echo <<<"FOOBAR"
Hello World!
FOOBAR;
?>
注:
PHP4 は Heredoc 構造のみを導入しました。