Do not mis interpret
<?php echo 'Ending tag excluded';
with
<?php echo 'Ending tag excluded';
<p>But html is still visible</p>
The second one would give error. Exclude ?> if you no more html to write after the code.
Wie in C oder Perl müssen Anweisungen auch in PHP am Ende mit einem Semikolon abgeschlossen werden. Der abschließende Tag eines PHP-Codeblocks impliziert automatisch ein Semikolon; die letzte Zeile eines PHP-Blocks benötigt kein Semikolon am Ende. Der schließende Tag des Blocks schließt den unmittelbar folgenden Zeilenumbruch, falls vorhanden, ein.
Beispiel #1 Beispiel für den schließenden Tag, der den abschließenden Zeilenumbruch einschließt
<?php echo "Etwas Text"; ?>
Kein Zeilenumbruch
<?= "Aber jetzt ein Zeilenumbruch" ?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Etwas TextKein Zeilenumbruch Aber jetzt ein Zeilenumbruch
Beispiele für das Starten und Beenden des PHP-Parsers:
<?php
echo 'Dies ist ein Test';
?>
<?php echo 'Dies ist ein Test' ?>
<?php echo 'Wir ließen den letzten schließenden Tag weg';
Hinweis:
Der schließende Tag eines PHP-Blocks am Ende einer Datei ist optional, und in einigen Fällen ist das Weglassen hilfreich, wenn Sie include oder require verwenden, so dass ungewollte Whitespaces nicht am Ende einer Datei auftreten und Sie noch im Stande sind, später weitere Header an die Antwort hinzuzufügen. Es ist ebenfalls praktisch, wenn Sie die Ausgabepufferung verwenden und keine ungewollten Whitespaces am Ende eines durch die eingebundenen Dateien erzeugten Teils sehen wollen.
Do not mis interpret
<?php echo 'Ending tag excluded';
with
<?php echo 'Ending tag excluded';
<p>But html is still visible</p>
The second one would give error. Exclude ?> if you no more html to write after the code.
You are also able to write more than one statement in one line, just separating with a semicolon, example:
<?php
echo "a"; echo "b"; echo "c";
#The output will be "abc" with no errors
?>
A user from stack overflow had a nice explanation for the trailing newline, simply put,
<?= "Hello" ?>
Jello
would output,
HelloJello
meaning that implicit newline from the ?> tag is not there, however one can simply add that to the code such as,
<?= "Hello" ?>
Jello
the space between acts as a new line after the closing tag