PHP echo und print Anweisungen verstehen
In PHP sind echo und print die zwei häufigsten Methoden zur Textausgabe. Erfahren Sie, wie sie sich unterscheiden und wann Sie welche verwenden.
Text auszugeben ist das Erste, was die meisten PHP-Programme tun, und PHP bietet dafür zwei Werkzeuge: echo und print. Sie wirken austauschbar, und für die alltägliche Ausgabe sind sie das auch — aber intern sind sie nicht identisch. Beide sind Sprachkonstrukte (keine Funktionen im strengen Sinne), daher können sie mit oder ohne Klammern aufgerufen werden.
Dieses Kapitel zeigt, wie jedes funktioniert, wo sie sich unterscheiden und wann welches sinnvoller ist. Wenn Sie neu bei der Ausgabe von Werten sind, empfiehlt es sich, zuerst über PHP-Variablen und PHP-Strings zu lesen, da echo und print die Mittel sind, sie anzuzeigen.
PHP echo-Anweisung
Die echo-Anweisung gibt einen oder mehrere Strings aus. Am häufigsten wird sie verwendet, um ein einzelnes Textstück auszugeben:
PHP-Beispiel für echo
echo gibt keinen Wert zurück. Der obige String geht direkt in den Ausgabepuffer und wird an den Browser (oder das Terminal bei CLI-Skripten) gesendet.
Variablen und Ausdrücke ausgeben
Sie können Variablen direkt ausgeben oder mit dem .-Verkettungs-Operator einen längeren String aufbauen:
PHP echo mit verketteten Strings
In doppelt gequoteten Strings werden Variablen automatisch interpoliert, sodass Sie häufig keine Verkettung benötigen:
<?php
$num = 5;
echo "The value of num is: $num"; // The value of num is: 5
echo 'The value of num is: $num'; // The value of num is: $numEinfache Anführungszeichen werden buchstäblich behandelt — $num wird unverändert ausgegeben. Die vollständigen Regeln finden Sie unter PHP-Strings.
Mehrere Argumente übergeben
Eine Funktion, die print nicht hat: echo akzeptiert mehrere durch Komma getrennte Argumente und gibt sie der Reihe nach aus. Das kann etwas schneller sein als das Verketten, da PHP keinen großen String vorab erstellt:
<?php
echo "Red", " ", "Green", " ", "Blue", "\n";
// Output: Red Green BlueHinweis: Die Kommaform funktioniert nur, wenn
echoohne Klammern aufgerufen wird.echo("a", "b")ist ein Syntaxfehler.
Das kurze echo-Tag
Wenn Sie PHP in HTML einbetten, ist <?= ... ?> eine Kurzform für <?php echo ... ?> — praktisch in Templates:
<p>Welcome, <?= $name ?>!</p>PHP print-Anweisung
print gibt ebenfalls Text aus, hat aber eine wichtige Besonderheit: Es gibt immer den Wert 1 zurück. Dieser Rückgabewert ermöglicht die Verwendung von print in Ausdrücken, wo echo einen Syntaxfehler verursachen würde:
PHP print Funktionsbeispiel
Da es 1 zurückgibt, wird print manchmal in bedingten Einzeilern wie $ok or print "failed"; verwendet. In der Praxis ist das selten — die meisten Code-Stellen verwenden es einfach wie echo.
Wie echo verarbeitet print Variablen und Ausdrücke:
PHP print mit verketteten Strings
Das Wichtigste, was man sich merken sollte: print nimmt genau ein Argument. print "a", "b"; ist nicht möglich.
Vergleich zwischen echo und print
| Merkmal | echo | print |
|---|---|---|
| Gibt einen Wert zurück | Nein | Gibt immer 1 zurück |
| In einem Ausdruck verwendbar | Nein | Ja ($x = print "hi";) |
| Mehrere Argumente | Ja (echo $a, $b;) | Nein — nur ein Argument |
| Geschwindigkeit | Minimal schneller | Minimal langsamer |
Einige praktische Schlussfolgerungen:
- Der Geschwindigkeitsunterschied ist vernachlässigbar für echte Anwendungen — es ist eine Mikrooptimierung, die Sie kaum bemerken werden. Wählen Sie nach Lesbarkeit, nicht nach Leistung.
- Verwenden Sie
echofür die normale Ausgabe. Es ist die übliche Wahl und unterstützt mehrere Argumente. - Greifen Sie auf
printzurück, wenn Sie seinen Rückgabewert tatsächlich in einem Ausdruck benötigen.
Fazit
echo und print sind beides Sprachkonstrukte zum Senden von Text an die Ausgabe. Verwenden Sie standardmäßig echo — es ist die idiomatische Wahl und kann mehrere Argumente entgegennehmen — und verwenden Sie print, wenn Sie speziell einen Rückgabewert benötigen. Um mehr zu erfahren, lesen Sie über PHP-Variablen, PHP-Strings und PHP-Datentypen.