SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=81&group=20
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Unterschied zwischen echo und print


Im Gegensatz zu echo ist print eine richtige Funktion. Es gibt Fälle, in denen die Ausgabe mit einer Rückgabe gekoppelt werden muss, beispielsweise beim trinären Bedingungsoperator (Konditionaloperator):

<?php
$wert == 0 ? print "wert ist 0" : print "wert ist nicht 0";
?>

Diese Konstruktion wertet eine Bedingung aus und führt entsprechend dem Ergebnis den ersten oder zweiten Teil aus. Es kommt zwar nur auf die Ausgabe an, die Konstruktion erwartet aber Rückgabewerte, der Raum zwischen ? : und ; darf aus syntaktischen Gründen nicht »leer« sein. Hier kann also niemals ein echo stehen.

Beispiel

<?php
$wert == 0 ? echo "wert ist 0" : echo "wert ist nicht 0";
?>

Ausgabe
Parse error: parse error, unexpected T_ECHO in C:\php5xampp-dev\htdocs\php5\ersteschritte.php on line 2

Wie Sie sehen, führt der Einsatz von echo zu einer Fehlermeldung.

print darf nur ein Argument haben. Wenn Sie mehrere Werte haben, nutzen Sie die Schreibweise mit Anführungszeichen oder setzen eine Zeichenkette mit dem Operator . zusammen. Hier ist echo flexibler, es sind beliebig viele Argumente erlaubt, die jeweils durch ein Komma getrennt werden:

<?php
$vorname = "Matthias";
echo "Hallo ", $vorname ,"!";
?>

Der einzige Unterschied zu der Verknüpfung der Zeichenketten dürfte die Geschwindigkeit sein. In der Praxis ist die Ausgabe jedoch ohnehin der schnellste Teil des Skripts. Damit bleibt als einziges Argument der optische Eindruck:

<?php
$vorname = "Matthias";
echo "Hallo " . $vorname . "!";
?>