PHP EOF (heredoc) ist eine Möglichkeit, eine Zeichenfolge in Befehlszeilen-Shells (wie sh, csh, ksh, bash, PowerShell und zsh) und Programmiersprachen (wie Perl, PHP, Python und Ruby) zu definieren. .
Nutzungsübersicht:
1. Es muss ein Semikolon folgen, sonst schlägt die Kompilierung fehl.
2. EOF kann durch jedes andere Zeichen ersetzt werden, solange die Endkennung mit der Startkennung übereinstimmt.
3. Die Endmarkierung muss eine eigene Zeile am Anfang der Zeile einnehmen (d. h. sie muss am Anfang der Zeile beginnen und darf nicht durch Leerzeichen oder Zeichen davor und danach verbunden werden).
4. Der Startbezeichner kann ohne Anführungszeichen oder mit einfachen oder doppelten Anführungszeichen sein. Ohne Anführungszeichen wird derselbe Effekt wie mit doppelten Anführungszeichen interpretiert. Mit einfachen Anführungszeichen werden eingebettete Variablen und Escape-Symbole nicht interpretiert interpretiert.
5. Wenn der Inhalt eingebettete Anführungszeichen erfordert (einfache Anführungszeichen oder doppelte Anführungszeichen), müssen keine Escape-Zeichen hinzugefügt werden. Dies entspricht der Verwendung von q und qq.
<?php Echo <<<EOF <h1>Mein erster Titel</h1> <p>Mein erster Absatz. </p> EOF; // Das Ende muss in einer separaten Zeile stehen und es dürfen keine Leerzeichen davor und danach stehen ?>
Beachten:
1. Beginnen Sie mit dem <<<EOF
Start-Tag und enden Sie mit EOF
End-Tag. Das End-Tag muss oben geschrieben werden, ohne Einrückung oder Leerzeichen, und am Ende des End-Tags muss ein Semikolon stehen.
2. Das Start-Tag und das End-Tag sind identisch. Zur Darstellung werden beispielsweise häufig die Großbuchstaben EOT、EOD、EOF
verwendet, sie sind jedoch nicht darauf beschränkt (Sie können auch JSON, HTML usw. verwenden). , solange das Start-Tag und das End-Tag nicht im Text vorkommen.
3. Variablen, die sich zwischen dem Start-Tag und dem End-Tag befinden, können normal analysiert werden, Funktionen jedoch nicht. In Heredoc müssen Variablen nicht wie ,
mit Konnektoren gespleißt werden .
<?php $name = " codercto " ; $a = <<<EOF "abc" $name "123" EOF; // Das Ende muss in einer separaten Zeile stehen und es dürfen keine Leerzeichen davor und danach stehen Echo $a ? >