W3docs

echo

Das Schlüsselwort „echo" in PHP gibt eine oder mehrere Zeichenketten aus. Syntax, Unterschiede zu „print" und häufige Fallstricke erklärt.

Die PHP-Anweisung echo

echo ist der gebräuchlichste Weg, um aus einem PHP-Skript eine Ausgabe an den Browser (oder die Konsole) zu senden. Es handelt sich um ein Sprachkonstrukt, keine echte Funktion – deshalb wird es häufig ohne Klammern verwendet. Diese Seite erklärt die Syntax, den Unterschied zu print, das Kurztag <?= ?> und häufige Stolpersteine für Einsteiger.

Wenn Sie neu im Ausgeben von Daten in PHP sind, empfiehlt sich auch ein Blick auf PHP echo und print für einen direkten Vergleich sowie auf PHP-Variablen, um die auszugebenden Werte besser zu verstehen.

Syntax

echo expression1, expression2, ...;
  • Argumente werden durch Kommas getrennt.
  • Da echo ein Sprachkonstrukt ist, sind Klammern optional. echo "Hi"; und echo("Hi"); funktionieren beide – beachten Sie jedoch, dass echo("a", "b"); ein Syntaxfehler ist, da Klammern nur ein einzelnes Argument umschließen können.

Grundlegende Ausgabe

<?php

echo "Hello World!";        // Hello World!
echo "\n";                   // newline
echo "Hello", " ", "World!"; // Hello World!

Mehrere durch Kommas getrennte Argumente zu übergeben ist geringfügig schneller als das Zusammensetzen einer Zeichenkette mit dem Verkettungsoperator (.), weil PHP die verbundene Zeichenkette dabei nicht zuerst erstellen muss.

Variablen ausgeben

<?php

$name = "John";
$age  = 30;

// Concatenation with the . operator
echo "My name is " . $name . " and I am " . $age . " years old.";

Innerhalb von doppelt zitierten Zeichenketten interpoliert PHP Variablen auch direkt, was oft übersichtlicher ist als die Verkettung:

<?php

$name = "John";
echo "Hello, $name!";        // Hello, John!
echo "Hello, {$name}san!";   // Hello, Johnsan! (braces clarify the variable name)

Einfach zitierte Zeichenketten interpolieren nichtecho 'Hello, $name'; gibt den wörtlichen Text Hello, $name aus. Die vollständigen Regeln finden Sie unter PHP-Strings.

„Probier es selbst" ist für dieses Beispiel nicht verfügbar.

Das Kurztag <?= ?>

Wenn Sie PHP in HTML einbetten, ist <?= ?> eine Kurzschreibweise für <?php echo ?>. Es ist in PHP standardmäßig aktiviert und der idiomatische Weg, um einen einzelnen Wert in einem Template auszugeben:

<p>Welcome, <?= $username ?>!</p>

<!-- equivalent to: -->
<p>Welcome, <?php echo $username; ?>!</p>

echo vs. print

Beide erzeugen Ausgaben, unterscheiden sich jedoch in einigen Punkten:

Merkmalechoprint
Mehrere ArgumenteJa (kommagetrennt)Nein (nur eines)
RückgabewertKeinerGibt immer 1 zurück
In Ausdrücken verwendbarNeinJa (z. B. $ok = print "Hi";)
GeschwindigkeitGeringfügig schnellerGeringfügig langsamer

Da print den Wert 1 zurückgibt, kann es in einem Ausdruck vorkommen; echo hingegen nicht. Weitere Details finden Sie unter Die PHP-Anweisung print.

Häufige Stolpersteine

  • Es wird kein Wert zurückgegeben. $x = echo "Hi"; ist ein fataler Fehler – echo kann weder zugewiesen noch in Ausdrücken verwendet werden.
  • Klammern mit Kommas schlagen fehl. echo("a", "b"); ist ungültig; lassen Sie die Klammern weg: echo "a", "b";.
  • Benutzereingaben maskieren. Nicht vertrauenswürdige Daten direkt in HTML auszugeben öffnet XSS-Lücken. Übergeben Sie sie zunächst an htmlspecialchars(): echo htmlspecialchars($comment);.
  • PHP_EOL vs. "\n". Verwenden Sie die Konstante PHP_EOL, wenn Sie das für das aktuelle Betriebssystem korrekte Zeilenende benötigen (zum Beispiel beim Schreiben auf die Konsole statt in einen Browser).

Übung

Übung
Was ist die korrekte Verwendung der echo-Funktion in PHP?
Was ist die korrekte Verwendung der echo-Funktion in PHP?
Was this page helpful?