Der Editor hilft Ihnen beim Erlernen des Trennzeichens. Gibt es einen Unterschied zwischen Nowdoc und Heredoc?

醉折花枝作酒筹
Freigeben: 2023-03-11 21:00:01
Original
2262 Leute haben es durchsucht

Im vorherigen Artikel haben wir etwas über EOF in PHP erfahren. Wenn Sie es benötigen, lesen Sie bitte „Was ist Heredoc? Was kann es für PHP tun?“ 》. Dieses Mal stellen wir Ihnen den Unterschied zwischen Nowdoc und Heredoc vor. Sie können bei Bedarf darauf verweisen.

Im vorherigen Abschnitt hat der Herausgeber allen Heredoc vorgestellt, aber es scheint, dass Nowdoc nicht vorgestellt wurde. Dies ist jedoch nicht der Fall. Der Herausgeber hat nowdoc auch allen vorgestellt, aber der Herausgeber hat nicht allen den Begriff erzählt. Aber werfen wir einen Blick auf nowdoc.

Schauen wir uns zunächst eine kleine Kastanie an.

<?php
$str = <<<&#39;EOD&#39;
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;
/* 含有变量的更复杂的示例 */
class foo
{
    public $foo;
    public $bar;
    function foo()
    {
        $this->foo = &#39;Foo&#39;;
        $this->bar = array(&#39;Bar1&#39;, &#39;Bar2&#39;, &#39;Bar3&#39;);
    }
}
$foo = new foo();
$name = &#39;MyName&#39;;
echo <<<&#39;EOT&#39;
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital &#39;A&#39;: x41
EOT;
?>
Nach dem Login kopieren

Das ist auf diese Weise nicht offensichtlich. Nehmen wir das Beispiel aus dem vorherigen Artikel und vergleichen wir es.

<?php
$name="runoob";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>
Nach dem Login kopieren

Schauen wir uns diese beiden Beispiele an und stellen fest, dass der größte Unterschied das Wort EOF ist. In nowdoc sind dafür einfache Anführungszeichen erforderlich, in heredoc jedoch nicht.

Das ist der Unterschied, den wir intuitiv spüren. Lassen Sie uns im Detail über den Unterschied zwischen Nowdoc und Heredoc sprechen.

heredoc verwendet die Kennung <<<, während nowdoc die Kennung <<< verwendet. Unter anderem ist Nowdoc eine neue Technologie, die in PHP5.3 eingeführt wurde. Es enthält die Syntax von herdoc, der Inhalt wird jedoch niemals maskiert oder interpretiert. Was ist der Inhalt? Es wird nicht empfohlen,

für PHP-Variablen in Heredoc zu verwenden. Das heißt, diese Darstellungsmethode, geschweifte Klammern. usw. müssen definierte Ausgaben konvertiert werden.

{$name->change()}用大括号括起来可以避免一些歧义。如果要按原样输出,可以使用传说中的转义字符<code>Um die Benutzerfreundlichkeit zu gewährleisten, wird empfohlen, die Herdoc-Syntax mit Escape zu verwenden. Da die Nowdoc-Syntax in PHP5.3 eingeführt wurde, wird sie möglicherweise von vielen Cloud-Hosting-Umgebungen nicht unterstützt, was ihre Verwendung unmöglich macht.

Abschließend möchte ich betonen, dass herdoc ab PHP4.0 eingeführt wurde, während die Nowdoc-Syntax Version 5.3 erfordert. Da herdeoc Funktionen von nowdoc enthält, schlage ich vor, dass die Verwendung von herdeoc besser ist.

Einfach ausgedrückt:

1. Heredoc ist dynamisch, während Nowdoc statisch ist.

2. Herdoc ähnelt mehrzeiligen einfachen Anführungszeichen.

3 strings Nowdoc ist eine allgemeine Verarbeitungslösung und eine in PHP implementierte „effiziente“ statische Version, die die Effizienz der dynamischen Implementierung von „Heredoc“ ausgleicht.

Das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →

php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDer Editor hilft Ihnen beim Erlernen des Trennzeichens. Gibt es einen Unterschied zwischen Nowdoc und Heredoc?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!