Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist ein Heredoc? Was kann es für PHP tun?

Was ist ein Heredoc? Was kann es für PHP tun?

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-08-02 10:17:482481Durchsuche

Damit jeder EOF in PHP vollständig versteht, beginnen wir dieses Mal ein neues Kapitel. Freunde, die es brauchen, können vorbeikommen und einen Blick darauf werfen.

In PHP gibt es eine Möglichkeit, Zeichenfolgen zu definieren. Diese kann in Befehlszeilen-Shells (wie sh, csh, ksh, bash, PowerShell und zsh) und Programmiersprachen (wie Perl) verwendet werden. PHP, Python und Ruby) zu definieren.

Schauen wir uns zunächst eine kleine Kastanie an.

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

Wenn man sich diesen Code ansieht, scheint es, dass der Code nach „$a=“ sehr seltsam ist. Er verwendet tatsächlich „<<<“. Es gibt zwei identische EOF-Wörter. Was sind das? Was ist der Sinn? $a=”后面的代码十分奇特啊,居然使用了“<<<”,而且它还有两个一样的EOF单词,这是什么呢?这又有什么意思呢?

在PHP中,如果我们想在命令行shell里或是在程序语言定义字符串,我们有一个特定的格式,就是.以<<<EOF开始标记开始,以EOF结束标记结束。

我们了解了heredoc,那我们去看看使用heredoc的方法吧。

1. 必须在EOF结束标记后接分号,否则编译通不过。

2. 只要保证结束标识与开始标识一致,开始标记和结束标记可以用任意其它字符代替。

3. 结束标记必须占据顶部网格中的一行(它必须从行首开始,后面不能有任何空格和字符)。

4.开始标识符可以没有引号,也可以有单引号和双引号。不带引号的效果与带双引号的效果相同。解释嵌入变量和转义符号。对于单引号,嵌入变量和转义符号不会被解释。

5.当内容需要嵌入引号(单引号或双引号)时,不需要添加转义符。内容本身避开了单引号和双引号,这等同于Q和QQ的用法。

知道了那么多使用heredoc的方法之后,我们去看看注意事项吧,避免我们写出来的代码无法使用啊,或是出现其他的问题。

1.以<<<EOF开始标签开始,以EOF结束标签结束。结束标记必须写在开头,没有缩进和空格,并且结束标记的结尾必须有分号。

2.开始标记与结束标记相同,例如大写的EOT、EOD和EOF,但不限于那些(JSON、HTML等),只要开始标记和结束标记不出现在正文中。

3.开始标签和结束标签之间的变量可以正常解析,但函数不能。在heredoc中,变量不需要用连接符.,来将它们连接到一起,就想我们上面例子里的“"abc"$name

Wenn wir in PHP eine Zeichenfolge in einer Befehlszeilen-Shell oder in einer Programmiersprache definieren möchten, haben wir ein bestimmtes Format, das mit dem <<<EOF-Anfang beginnen soll -Tag endet mit dem End-Tag EOF.

Wir verstehen Heredoc. Schauen wir uns an, wie man Heredoc verwendet.

1. Nach der EOF-Endmarkierung muss ein Semikolon stehen, sonst wird die Kompilierung nicht erfolgreich sein. 🎜🎜2. Solange das End-Tag mit dem Start-Tag übereinstimmt, können Start-Tag und End-Tag durch beliebige andere Zeichen ersetzt werden. 🎜🎜3. Das schließende Tag muss eine Zeile im oberen Raster einnehmen (es muss am Anfang der Zeile beginnen und darf keine Leerzeichen oder Zeichen enthalten). 🎜🎜4. Die Startkennung darf keine Anführungszeichen oder einfache und doppelte Anführungszeichen enthalten. Der Effekt ohne Anführungszeichen ist der gleiche wie mit doppelten Anführungszeichen. Interpretieren Sie eingebettete Variablen und Escape-Symbole. Bei einfachen Anführungszeichen werden eingebettete Variablen und Escape-Symbole nicht interpretiert. 🎜🎜5. Wenn der Inhalt Anführungszeichen (einfache oder doppelte Anführungszeichen) einbetten muss, müssen keine Escape-Zeichen hinzugefügt werden. Der Inhalt selbst vermeidet einfache und doppelte Anführungszeichen, was der Verwendung von Q und QQ entspricht. 🎜🎜Nachdem wir so viele Möglichkeiten zur Verwendung von Heredoc kennengelernt haben, werfen wir einen Blick auf die Vorsichtsmaßnahmen, um zu vermeiden, dass der von uns geschriebene Code unbrauchbar wird oder andere Probleme auftreten. 🎜🎜1. Beginnen Sie mit dem Start-Tag <<<EOF und enden Sie mit dem End-Tag EOF. Das schließende Tag muss am Anfang geschrieben werden, ohne Einrückungen oder Leerzeichen, und am Ende des schließenden Tags muss ein Semikolon stehen. 🎜🎜2. Das Start-Tag ist dasselbe wie das End-Tag, z. B. EOT, EOD und EOF in Großbuchstaben, ist jedoch nicht auf diese beschränkt (JSON, HTML usw.), solange das Start-Tag und das End-Tag nicht angezeigt werden im Körper. 🎜🎜3. Die Variablen zwischen dem Start-Tag und dem End-Tag können normal analysiert werden, die Funktion jedoch nicht. In Heredoc müssen Variablen nicht den Connector . oder , verwenden, um sie miteinander zu verbinden, genau wie der „“abc“$name in unserem Beispiel oben " dasselbe. 🎜🎜Das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜

Das obige ist der detaillierte Inhalt vonWas ist ein Heredoc? Was kann es für PHP tun?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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