Die wichtigsten PHP String-Funktionen (Teil 2: Ausgabe von Strings)
Eigene Anzeige: Ich biete professionelle Wordpress Themes mit tollen Features, hübschem Design und Premium Support. Weitere Informationen und Live Demo findest du auf meiner Website ThemeZee.com
Mit PHP Variablen oder Strings auszugeben ist eine der wesentlichen Aufgabe einer PHP-Anwendung. Dementsprechend oft werden die String-Funktionen hierfür gebraucht. Die bekanntesten sind echo, print und printf.
Ausgabe mit Echo
Der Befehl Echo jedoch ist nicht wirklich eine Funktion, sondern lediglich ein Sprachkonstrukt. Deshalb müssen bei der Verwendung auch keine Klammern gesetzt werden. Eine einfache Ausgabe erfolgt bekanntlich mit
echo "Hallo Welt"; echo $variable; echo ($variable);
Mehrere Argumente können entweder durch Kommas aufgelistet werden oder mit dem Punkt-Operator zu einem String verknüpft werden.
echo "Hallo Welt" , $variable, $variable2, "!!"; echo "Hallo" . "Welt" . "!!";
Zusätzlich besitzt Echo eine Syntax Kurzform, um so schnelle Ausgaben in einem HTML Dokument durchzuführen. Statt
<?php echo $var; ?>
können sie mit der Kurzform einfach
<?=$var?>
schreiben.
Ich möchte jedoch von dieser Methode abraten. Diese Kurzform funktioniert nur, wenn short_open_tag in der php.ini eingeschaltet ist. Somit funktioniert das Script auf anderen Servern eventuell nicht.
Ausgabe mit Print
Print wird ebenfalls als Sprachkonstrukt definiert, verhält sich aber wie eine Funktion.
Im Gegensatz zu Echo liefert es nämlich einen Rückgabewert. Dieser ist immer gleich und hat den Wert 1. Die Ausgabe kann wie bei Echo mit oder ohne Klammern erfolgen.
print "Hallo Welt"; print $variable;
Print kann jedoch nur ein Argument verarbeiten, mehrere Variablen müssen daher immer mit dem Punkoperator verknüpft werden.
Außerdem muss durch den Rückgabe-Wert in manchen Fällen Print gegenüber Echo vorgezogen werden. Beispielsweise beim trinären Bedingungsoperator, hierbei muss die Ausgabe mit einer Rückgabe gekoppelt werden.
$variable == 1 ? print "Variable ist 1" : print "Variable ist nicht 1";
Diese Konstruktion prüft ob der Wert der $variable gleich 1 ist und führt dann eine entsprechende Ausgabe aus. Mit Echo würde dieses Beispiel trotzdem nicht funktionieren. Auf den ersten Blick kommt es zwar nur auf die Ausgabe an, die Konstruktion verlangt aber in beiden Teilen nach dem ? einen Rückgabewert.
Ausgabe mit printf
Mit der Funktion printf können die Strings gleich formatiert werden, daher ist die Funktion für eine komplexere Ausgabe gedacht. Des Weiteren sieht’s einfach schöner aus anstatt mehrere Strings zu verknüpfen.
$var = "Überschrift 1";
printf("<h2>%s</h2>", $var);
Im ersten Argument kann ein beliebiger String inklusive HTML-Code eingesetzt werden. An die Stelle %s wird dann die eigentliche Ausgabe eingesetzt, die im zweiten Argument steht. Bei diesem kleinen Beispiel kommt der Vorteil von printf nicht weltbewegend heraus. Dennoch bevorzugen viele diesen schöneren Programmierstil im Gegensatz zu Echo oder Print.
$var = "Überschrift 1"; echo "<h2>" . $var . "</h2>";
Unterschiede der Ausgabemöglichkeiten
Mit printf ist es möglich, einfach und bequem formatierte Strings auszugeben und sich die HTML-PHP Verschachtelei ein wenig leichter zu machen.
Ob man Echo oder Print für die einfache Ausgabe benutzt ist mit Sicherheit eine Geschmacksfrage, viele Programmierer tendieren momentan eher zu Echo. (wie ich auch). Bis auf die oben genannten Kleinigkeiten unterscheiden sie sich kaum.
Und auch geschwindigkeitstechnisch geben sich beide Funktionen nicht viel, Echo ist minimal schneller da hier die Rückgabe entfällt. Dieser Geschwindigkeitsvorteil ist jedoch kaum messbar. Lediglich printf kostet an Geschwindigkeit und sollte nicht verwendet werden, wenn die Performance wichtig ist. ( siehe dazu auch Echo vs Print vs Prinftf)


[...] Funktionen zur Ausgabe von Strings Mit das wichtigste an Strings ist natürlich, dass man sie auch ausgeben kann. Logisch. PHP bietet dafür über eine Handvoll Methoden an, die bekanntesten und bevorzugten sind echo, print und printf. Lese dazu Die wichtigsten String-Funktionen (Teil 2: Ausgabe von Strings). [...]