ホームページ  >  記事  >  バックエンド開発  >  PHP での heredoc と nowdoc の紹介 (コード例)

PHP での heredoc と nowdoc の紹介 (コード例)

不言
不言転載
2019-02-18 14:04:521820ブラウズ

この記事では、PHP のヒアドキュメントと Nowdoc の概要 (コード例) を紹介します。これには一定の参考価値があります。必要な友人は参照できます。お役に立てば幸いです。助けられました。 。

ヒアドキュメント構造

ヒアドキュメント構文構造: <<<。演算子の後に識別子を入力し、次に改行を入力します。次に文字列自体が続き、前に定義した識別子で終わります。

<?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;
?>

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

<?php
class test{
public $var = &#39;123&#39;;
public $a = <<<FDIPZONE$varFDIPZONE;
}
$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 構造体は、あらゆる静的データ環境で使用できます。最も一般的な例は、クラスのプロパティまたは定数を初期化することです。次の例は間違いではありません。ヒアドキュメントの例と比較してください。

rree

以上がPHP での heredoc と nowdoc の紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。