ホームページ  >  記事  >  バックエンド開発  >  php heredocとnowdocの違いと特徴

php heredocとnowdocの違いと特徴

jacklove
jackloveオリジナル
2018-06-09 13:55:081479ブラウズ

php heredoc と nowdoc

heredoc 構造

heredoc 構文構造: <

<?php
$content = <<<FDIPZONE
<html>
<head>
<title>test</title>
</head>
<body>
<p><img src="http://www.csdn.net/css/logo.png"></p>
<p><a href=&#39;http://blog.csdn.net/fdipzone&#39;>blog</a></p>
</body>
</html>
FDIPZONE;
echo $content;
?>

ヒアドキュメント構造体を使用してクラスのプロパティを初期化することはできません。 PHP 5.3 以降、この制限はヒアドキュメントに変数が含まれている場合にのみ適用されます。次の例は失敗します。

<?php
class test{
public $var = &#39;123&#39;;
public $a = <<<FDIPZONE
$var
FDIPZONE;
}
$obj = new test();
echo $obj->a;
?>

ヒアドキュメント構造では、変数は置き換えられますが、メソッドは置き換えられません。複雑な変数を含める場合は注意してください。 #

<?php
$var = &#39;123&#39;;
$content = <<<FDIPZONE
$var time();
FDIPZONE;
echo $content; // 123 time();
?>

#nowdoc 構造##nowdoc 構文構造はヒアドキュメント構造とよく似ていますが、nowdoc

解析操作 は実行されません。この構造は、特殊文字をエスケープせずに PHP コードやその他の大きなテキストを埋め込むのに適しています。 nowdoc ヒアドキュメント構造と同じタグ <<< ですが、

に続く識別子は一重引用符で囲む必要がありますつまり、<<<'EOF'。ヒアドキュメント構造のすべての規則、特に識別子の終端に関する規則は、nowdoc 構造にも適用されます。 nowdoc は php5.3 以降に追加されました。

<?php
$var = &#39;123&#39;;
$content = <<<&#39;FDIPZONE&#39;
$var time();
FDIPZONE;
echo $content; // $var time(); $var没有被替换
?>
nowdoc 構造体は、あらゆる静的データ環境で使用できます。最も一般的な例は、クラスのプロパティまたは定数を初期化することです。次の例は間違いではありません。ヒアドキュメントの例と比較してください。

<?php
class test{
public $a = <<<&#39;FDIPZONE&#39;
$var
FDIPZONE;
}
$obj = new test();
echo $obj->a;
?>
この記事では、php heredoc と nowdoc の違いと特徴について説明します。関連コンテンツについては、php 中国語 Web サイトを参照してください。

関連する推奨事項:

php zip ファイルのコンテンツの比較についての説明


HTML5 の localStorage と sessionStorage の違いについて


php を介してユーザー アクセス ページの言語クラスを取得/設定する方法

##

以上がphp heredocとnowdocの違いと特徴の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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