Echo in PHP - Ausgabe von Text und formatiertem HTML

Das Echo-Statement dient der Ausgabe von Zeichenketten. Die auszugebenen Strings werden durch Kommata getrennt an echo übergeben. Bei der Echo-Anweisung handelt es sich nicht um eine Funktion, sondern um ein in PHP verankertes Sprachkonstrukt. Aus diesem Grunde kann echo sowohl mit als auch ohne Klammerung einer Parameterliste aufgerufen werden.

Neben Strings können auch Werte anderen Datentyps – etwa Zahlenwerte (Integer wie auch Float) – in den Parametern angegeben werden. Vor der Ausgabe durch echo werden derartige Variablen in ein String umgewandelt und dann ausgegeben.

PHP Echo Beispiel: String (Text) ausgeben mit echo

Folgendes Beispiel gibt per echo vordefinierte Strings aus. Die erste der beiden Anweisungen gibt, damit die beiden Strings im Browser nicht direkt hintereinander dargestellt werden, ein HTML-Tag aus, welches einen Zeilenumbrunch realisiert (BR-Tag). Der zweite Aufruf von echo demonstriert die Ausgabe mehrzeiliger Strings. Ausgegeben wird der Text zwar mit Zeilenumbrüchen, allerdings werden Newlines, Spaces und Tabulatoren durch den Browser mit einem einzigen Leerzeichen dargestellt. Im Quellcode der HTML-Datei findet sich aber die uninterpretierte Ausgabe des Strings. Beachten Sie bitte auch unsere Ausführungen, die zeigen, wie Sie ein PHP Script in HTML einbinden können.

<?php
    // Ausgabe eines Strings
    echo 'Hallo Besucher!<br>';
    // Ausgabe von mehrzeiligem Text
    echo 'Die mehrzeilige Ausgabe von Zeichenketten
    ist ebenfalls möglich!';
?>

Hallo Besucher!
Die mehrzeilige Ausgabe von Zeichenketten ist ebenfalls möglich!

Echo in PHP: HTML Code ausgeben

Das nächste Beispiel gibt je ein String aus, welches HTML-Code enthält – in Form einer Überschrift in zweiter Ebene und einem Textabsatz. Der hier auszugebene Text wird von HTML-Tags eingefasst, durch die der Text – in einem Browser – mit der entsprechend angegebenen Formatierung darstellt wird. In der Ausgabe unterhalb des Code-Blocks wird die Ausgabe des Scripts als HTML-Quelltext angezeigt. Diese wird durch den Browser, entsprechend den im Bereich gültigen Einstellungen des Stylesheets, ausgegeben.

<?php
    // Ausgabe von HTML-Tags
    echo '<h2>Mit PHP HTML Tags ausgeben</h2>';
    echo '<p>Hier kommt ein Absatz mit dem entsprechenden Text, der mit einem P-Tag entsprechend den CSS-Vorgaben ausgegeben wird.</p>';
?>

<h2>Mit PHP HTML Tags ausgeben</h2><p>Hier kommt ein Absatz mit dem entsprechenden Text, der mit einem P-Tag entsprechend den CSS-Vorgaben ausgegeben wird.</p>

PHP Echo: Newline, Tabulatoren und Anführungszeichen

Bestimmte Zeichen müssen, sollen sie mit Hilfe von Echo ausgegeben werden, zuvor maskiert werden. Dies gilt etwa dann, wenn die Ausgabe eines Zeilenumbruchs (Newline), eines Tabulators oder eines Backslash erfolgen soll. Bei den Steuerzeichen (Newline und Tabulator) muss die Zeichenkette '\n' bzw. '\t' an der Stelle eingefügt werden, an welcher die Ausgabe des jeweiligen Zeichens erfolgen soll. Beachten Sie: Steuerzeichen werden nur innerhalb von Zeichenketten interpretiert, die durch doppelte Anführungszeichen definiert sind. Der Backslash ('\') dient dabei der Maskierung von Zeichen. Soll die Ausgabe eines Backslash selbst erfolgen, so muss auch dieser – über die Zeichenfolge '\\' – maskiert werden.

Eine Maskierung ist darüber hinaus auch bei den Anführungszeichen vonnöten. Nötig ist dies, damit der PHP-Interpreter weiss, dass mit einem Anführungszeichen (einfach oder doppelt) nicht etwa das String beendet wird, sondern lediglich das Anführungszeichen in einem String gespeichert werden soll. Maskiert werden müssen dabei stets die Anführungszeichen in einem String, die auch bei der Definition des Strings genutzt werden. Wird also ein String mit einem einfachen Anführungszeichen eingeleitet, so müssen einfache Anführungzeichen innerhalb des Strings per Backslash maskiert werden.

<?php
    // Newlines und Tabulatoren
    echo "<pre>Dies ist eine PHP Testausgabe mit\neinem Newline.</pre>";
    echo "<pre>Jedes\tWort\tdurch\tTabulator\tgetrennt.</pre>";
    // Backslashes und Quotes (Anführungszeichen) ausgeben
    echo "Backslash: \\<br>";
    echo "Einfaches und doppeltes Anführungszeichen: ' und \"<br>";
    echo 'Oder in der anderen Schreibweise: \' und "';
?>

Dies ist eine PHP Testausgabe mit
einem Newline.
Jedes    Wort    durch    Tabulator    getrennt.
Backslash: \
Einfaches und doppeltes Anführungszeichen: ' und "
Oder in der anderen Schreibweise: ' und "

PHP Echo Beispiel: Mit Echo Variablen ausgeben

Das Beispiel unten zeigt, wie Sie Variablen – genauer gesagt den Inhalt von Variablen – mit Hilfe des PHP echo Befehls ausgeben können. Hierzu werden zunächst zwei Variablen definiert, von denen die Erste mit einem String-Wert und die Zweite mit einem Zahlenwert (integer) initialisiert wird. Die darauf folgenden beiden Echo-Anweisungen geben die Werte der Variablen aus. Dabei werden die Variablen in der ersten Variante direkt im Ausgabestring untergebracht. Werden bei einer Ausgabe die doppelten Anführungszeichen verwendet, dann können Sie Variablen direkt in das Ausgabestring integrieren – der PHP-Interpreter ersetzt die Variablennamen automatisch durch die in diesen gespeicherten Werte. Dabei ist zu beachten, dass diese Vorgehensweise bei Array-Variablen nicht funktioniert. Hier müssen Variablen und Ausgabestring von Hand miteinander verknüpft werden (s. auch unser Beispiel zur Ausgabe von Arrays mit echo).

In der zweiten Variante werden die Teilstrings der Ausgabe jeweils mit den Variablen verknüpft. Dies geschieht unter Verwendung des String-Operators zur Verknüpfung von Strings ('.'). PHP konvertiert alle angegebenen Variableninhalte vor der Ausgabe durch echo automatisch in einen entsprechenden String-Wert – so wird beispielsweise aus der Zahl 12 vor der Ausgabe das String '12'. Jedes einzelne Teilstring wird mit einem einfachen Anführungszeichen eingeleitet und auch durch dieses Zeichen beendet. Innerhalb eines Strings, welches mit einfachen Anführungszeichen definiert wird, werden besondere Zeichen – wie Steuerzeichen aber auch das '$'-Zeichen, welches normalerweise einen Variablennamen einleitet – nicht interpretiert. Der letzte Aufruf von echo im Beispiel gibt demnach an den entsprechenden Stellen nicht den Inhalt der Variablen aus, sondern lediglich die Zeichenketten '$wort' und '$wert'.

<?php
    // Definition / Initialisierung von Variablen
    $wort = 'Antwort';
    $wert = 42;
    // Ausgabe von Variablen bzw. den in diesen gespeicherten Werten
    echo "Die $wort auf alle Fragen lautet ... $wert!<br>";
    // Auch möglich ist die Ausgabe des Strings nach vorheriger Verknüpfung von Teilstrings mit
    // dem String-Operator zur Verknüpfung von Zeichenketten (concatenation mit dem Operator '.')
    echo 'Die ' . $wort . ' auf alle Fragen lautet ... ' . $wert . '!<br>';
    // Dagegen gibt folgende Anweisung lediglich die angegebene Zeichenkette aus
    // und nicht den Inhalt der Variablen.
    echo 'Die $wort auf alle Fragen lautet ... $wert!';
?>

Die Antwort auf alle Fragen lautet ... 42!
Die Antwort auf alle Fragen lautet ... 42!
Die $wort auf alle Fragen lautet ... $wert!

PHP Echo URL Beispiel: Ausgabe eines Links (a href)

Folgendes Beispiel zur Verwendung der Echo-Anweisung zeigt, wie Sie einen Link (Anklickbare URL zu einer Internetseite) ausgeben können. Im Grunde kann dies mit den Mitteln, aus den vorherigen Beispielen bewerkstelligt werden. Es funktioniert, indem Sie per PHP den zur Darstellung eines Links im Webbrowser nötigen HTML-Code ausgeben. Hierzu wird zunächst eine Ziel-URL für den darzustellenden Link in der Variablen $url gespeichert. Der darauf folgende Aufruf von echo gibt den HTML-Code für einen Hyperlink (A-Tag mit der im href-Attribut gespeicherten Ziel-URL) aus. Auch hier ist wieder eine Variable direkt im Ausgabestring enthalten und wird automatisch durch PHP durch seinen Variableninhalt ersetzt. Da der Inhalt des href-Attributs in HTML durch doppelte Anführungszeichen eingefasst werden muss, tauchen diese Zeichen – wiederum durch den Backslash maskiert (escaped) – im Ausgabestring auf.

<?php
    // HTML Link ausgeben
    $url = 'http://www.evocomp.de';
    echo "<a href=\"$url\">Startseite</a>";
?>

Startseite

PHP Echo Array Beispiel: Ausgabe der Elemente eines Arrays mit Echo

Das nun folgende Beispiel soll demonstrieren, wie der Inhalt eines Arrays mit dem echo-Befehl ausgegeben werden kann. Dazu wird als Erstes ein Array initialisiert, welches später schrittweise mit echo ausgegeben werden soll. Alle Elemente des Arrays werden innerhalb der Foreach-Schleife – gefolgt von einem Leerzeichen – einzeln ausgegeben.

Nach der Ausgabe des Arrays $a wird wiederum ein Array ausgegeben, welches unter PHP vordefinierte Servervariablen enthält. Die vordefinierte Variable $_SERVER, deren Inhalt hier ausgegeben werden soll, enthält Informationen über den Webserver, die in einem assoziativen Array abgelegt sind. Hierzu zählen beispielsweise die URL des aufgerufenen Dokuments, verschiedene Umgebungsvariablen, die etwa besagen, welche Zeichenkodierung vom Client unterstützt wird oder auch die IP-Adresse des Clients. Die Ausgabe der einzelnen Elemente des Arrays – die Werte-Schlüsselpaare werden mit einer Foreach-Schleife entnommen – erfolgt wiederum mit dem echo-Befehl.

An dieser Stelle ist zu bemerken, dass der Zugriff auf eine Array-Struktur per Index nicht direkt in das Ausgabestring integriert werden kann. Dies gilt gleichermaßen für die Implementiertung per einfachem und doppeltem Anführungszeichen. Im Beispiel unten wird mit einem Schlüssel ($key) auf das jeweilige Element zugegriffen, dessen Name durch den in $key gespeicherten Wert benannt wird. Bei der Ausgabe muss also stets der String-Operator zur Verknüpfung von Zeichenketten genutzt werden oder aber der Inhalt des Array-Elements in einer normalen (eindimensionalen) Variable zwischengespeichert werden, damit deren Inhalt dann in das Ausgabestring eingebaut werden kann.

Beachten Sie bitte auch unsere Beispiele zur Nutzung von Arrays in PHP. Hier gibt es auch Beispiele zur Ausgabe von mehrdimensionalen Arrays unter PHP und es wird gezeigt, wie ein Array samt dessen Struktur ausgeben werden kann. Zur Iteration durch Arrays können Sie die For-Schleife oder aber – wie auch hier verwendet – die Foreach-Schleife nutzen. Weitere Schleifentypen unter PHP sind die While-Schleife und die Do-While-Schleife.

<?php
    // Array initialisieren
    $a = array ('Jedes', 'Wort', 'im', 'Satz', 'einzeln', 'im', 'Array', 'gespeichert');
    // Array ausgeben
    foreach ($a as $wort)
        echo $wort . ' ';
    echo '<br>Inhalt des _SERVER-Arrays:<br>';
    // _SERVER Array ausgeben
    foreach ($_SERVER as $key => $value)
        echo $key . ': ' . $_SERVER[$key] . '<br>';
?>

Jedes Wort im Satz einzeln im Array gespeichert
Inhalt des _SERVER-Arrays:
HTTP_HOST: evocomp.de
HTTP_USER_AGENT: Mozilla/5.0 compatible
HTTP_ACCEPT: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
HTTP_ACCEPT_LANGUAGE: de,en;q=0.7,en-us;q=0.3
HTTP_ACCEPT_ENCODING: gzip,deflate
HTTP_ACCEPT_CHARSET: ISO-8859-15,utf-8;q=0.7,*;q=0.7
HTTP_KEEP_ALIVE: 300
HTTP_CONNECTION: keep-alive
HTTP_REFERER: http://evocomp.de/beispiele/php/
HTTP_CACHE_CONTROL: max-age=0
PATH: /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
SERVER_SIGNATURE: Apache/2.0.47 (Linux/SuSE) Server at prod2.evocomp.de Port 80
SERVER_SOFTWARE: Apache/2.0.47 (Linux/SuSE)
SERVER_NAME: evocomp.de
SERVER_ADDR: 192.168.0.106
SERVER_PORT: 80
REMOTE_ADDR: 192.168.0.106
DOCUMENT_ROOT: /Web
SERVER_ADMIN: ....
SCRIPT_FILENAME: /Web/beispiele/php/echo.php
REMOTE_PORT: 33138
GATEWAY_INTERFACE: CGI/1.1
SERVER_PROTOCOL: HTTP/1.1
REQUEST_METHOD: GET
QUERY_STRING:
REQUEST_URI: /beispiele/php/echo.php
SCRIPT_NAME: /beispiele/php/echo.php
PHP_SELF: /beispiele/php/echo.php
PATH_TRANSLATED: /Web/beispiele/php/echo.php
argv: Array
argc: 0

PHP Echo Date / Time: Datum und Zeit des Webservers ausgeben

Nun ein Beispiel zur Ausgabe des aktuellen Datums (date) und der Zeit (time), die auf dem Webserver eingestellt ist. Hierzu bedient sich das Script der Funktion date, die einen Timestamp entsprechend formatiert in ein String umwandelt. Das Ergebnis dieser Umwandlung wird wiederum mittels echo-Aufruf ausgegeben. Im ersten Aufruf wird das Datum ausgegeben und der zweite Aufruf gibt die Zeit aus. Die Funktion time holt einen Timestamp vom System. Sie liefert bei jedem Aufruf die seit dem 01.01.1970 vergangene Zeit in Sekunden. Mit der Funktion date wird mit dieser Zahl auf das aktuelle Datum und die aktuelle Zeit geschlossen. Der erste Parameter von Date gibt das Format an, in dem das Datum bzw. die Zeit dargestellt werden soll.

<?php
    // Datum (date) anzeigen
    echo 'Datum auf dem Webserver: ' . date ('d.m.Y', time ()) . '<br>';
    // Ausgabe der aktuellen Zeit (time)
    echo 'Zeit auf dem Server: ' . date ('H:i:s', time ());
?>

Datum auf dem Webserver: 19.03.2024
Zeit auf dem Server: 07:19:46

PHP Echo & JavaScript: Ausgabe eines JavaScript-Blocks mit PHP

Das letzte Beispiel zu echo soll zeigen, wie per PHP JavaScript-Code ausgegeben werden kann. Der auszugebene JavaScript-Code wird als normales String angegeben, wobei auch hier darauf zu achten ist, dass Anführungszeichen gegebenenfalls maskiert werden müssen. Dies ist insbesondere dann nötig, wenn HTML-Attribute oder JavaScript Strings im auszugebenen Code enthalten sind. Variablen und Inhalte, die per PHP – etwa bei Entnahme von Inhalten aus einer Datenbank – zusammengestellt werden, können ebenfalls in den JavaScript-Code integriert werden.

<?php
    $testvariable = 'Testausgabe per JavaScript-Code';
    // JavaScript-Code mit PHP ausgeben
    echo "<script type=\"text/javascript\">document.write ('$testvariable')</script>";
?>

¬ Tutorials



¬ Insolvenzrecht