PHPの開発ではHTMLを頻繁に使用しますが、PHPでHTMLを直接記述するのは非常に不便です。心配しないでください。 の区切り文字 heredoc と nowdoc が役立つので、見てみましょう。
phpヒアドキュメントとnowdoc
ヒアドキュメント構造ヒアドキュメント構文構造: <<<。
演算子の後に識別子を指定し、次に改行を指定します。次に string 自体が続き、最後に前に定義した識別子が終了マークとして使用されます。 <?php
$content = <<<FDIPZONE
<html>
<head>
<title>test</title>
</head>
<body>
<p><img src="http://www.csdn.net/css/logo.png"></p>
<p><a href='http://blog.csdn.net/fdipzone'>blog</a></p>
</body>
</html>
FDIPZONE;
echo $content;
?>
を初期化することはできません。 PHP 5.3 以降、この制限はヒアドキュメントに変数が含まれている場合にのみ適用されます。次の例は失敗します。 <?php
class test{
public $var = '123';
public $a = <<<FDIPZONE
$var
FDIPZONE;
}
$obj = new test();
echo $obj->a;
?>
<?php $var = '123'; $content = <<<FDIPZONE $var time(); FDIPZONE; echo $content; // 123 time(); ?>
nowdoc 構造nowdoc 構文構造はヒアドキュメント構造と非常によく似ていますが、nowdoc では解析操作は実行されません。この構造は、
特殊文字をエスケープせずにphpコードやその他の大きなテキストを埋め込むのに適しています。 nowdoc にはヒアドキュメント構造 <<< と同じタグがありますが、次の識別子は一重引用符で囲む必要があります (例: <<<'EOF')。ヒアドキュメント構造のすべての規則、特に識別子の終端に関する規則は、nowdoc 構造にも適用されます。 nowdoc は php5.3 以降に追加されました。
<?php $var = '123'; $content = <<<'FDIPZONE' $var time(); FDIPZONE; echo $content; // $var time(); $var没有被替换 ?>
nowdoc 構造体は、あらゆる静的データ環境で使用できます。最も典型的な例は、クラス プロパティまたは
定数 を初期化することです。次の例は間違いではありません。ヒアドキュメントの例と比較してください。 <?php
class test{
public $a = <<<'FDIPZONE'
$var
FDIPZONE;
}
$obj = new test();
echo $obj->a;
?>
関連する推奨事項:
PHP 文字列の Heredoc 構造と Nowdoc 構造は一般的に使用されますか?
PHP スカラー型 - 文字列、ヒアドキュメントはそれをどのように表現しますか? NOWDOCとHEREDOCについて以上がphp heredoc と nowdocの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。