echoGibt einen oder mehrere Strings aus
&reftitle.description;
voidechostringexpressions
Gibt einen oder mehrere Ausdrücke ohne zusätzliche Zeilenumbrüche oder
Leerzeichen aus.
echo ist keine Funktion, sondern ein Sprachkonstrukt.
Seine Argumente sind eine Liste von Ausdrücken, die dem Schlüsselwort
echo folgen und nicht durch Kommas getrennt und durch
Klammern abgegrenzt sind. Im Gegensatz zu einigen anderen Sprachkonstrukten
hat echo keinen Rückgabewert, sodass es nicht im
Zusammenhang mit einem Ausdruck verwendet werden kann.
echo besitzt zusätzlich eine Syntax-Kurzform, bei der
Sie ein Gleichheitszeichen direkt nach einem öffnenden PHP-Tag anfügen.
Diese Syntax ist auch bei deaktivierter Konfigurationseinstellung
short_open_tag verfügbar.
foo.
]]>
Der Hauptunterschied zu print ist, dass
echo mehrere Argumente entgegennimmt, und keinen
Rückgabewert hat.
&reftitle.parameters;
expressions
Ein oder mehrere durch Kommas getrennte String-Ausdrücke, die
ausgegeben werden sollen. Nicht-String-Werte werden in Strings
umgewandelt, auch wenn die Direktive
strict_types aktiviert ist.
&reftitle.returnvalues;
&return.void;
&reftitle.examples;
echo-Beispiele
]]>
echo ist kein Ausdruck
]]>
&reftitle.notes;
¬e.language-construct;
Die Verwendung mit Klammern
Wenn ein einzelnes Argument in Klammern an echo
übergeben wird, löst das keinen Syntaxfehler aus und erzeugt eine Syntax,
die wie ein normaler Funktionsaufruf aussieht. Dies kann jedoch
irreführend sein, denn die Klammern sind tatsächlich Teil des
auszugebenden Ausdrucks und nicht Teil der echo-Syntax
selbst.
Verwenden von Klammern
]]>
Ungültiger Ausdruck
]]>
Die Übergabe mehrerer Argumente an echo kann
Schwierigkeiten vermeiden, die durch den Vorrang des Verkettungsoperators
in PHP entstehen. Zum Beispiel hat der Verkettungsoperator eine höhere
Priorität als der Ternäre und vor PHP 8.0.0 hatte er die gleiche Rangfolge
wie die Addition und die Subtraktion:
Falls mehrere Argumente übergeben werden, dann sind Klammern nicht
erforderlich, um die Vorrangigkeit zu erzwingen, da jeder Ausdruck für
sich steht:
&reftitle.seealso;
printprintfflushMöglichkeiten literale Strings anzugeben