(PHP 4, PHP 5, PHP 7)
echo — Gibt einen oder mehrere Strings aus
$arg1
[, string $...
] )Gibt alle Parameter aus.
echo ist nicht wirklich eine Funktion sondern ein Sprach-Konstrukt, daher ist es nicht notwendig, Klammern zu verwenden. echo verhält sich im Gegensatz zu einigen anderen Sprach-Konstrukten nicht wie eine Funktion, deshalb kann es nicht immer in einem Funktionskontext verwendet werden. Hinzu kommt, dass bei der Angabe mehrerer Parameter für echo diese nicht von Klammern umschlossen sein dürfen.
echo besitzt zusätzlich eine Syntax-Kurzform, Sie können also ein öffnendes PHP-Tag von einem Gleichheitszeichen gefolgt notieren. Vor PHP 5.4.0 funktioniert diese Syntax-Kurzform nur, wenn short_open_tag in der php.ini eingeschaltet ist.
Ich habe <?=$foo?> foo.
arg1
Der auszugebende Parameter.
...
Es wird kein Wert zurückgegeben.
Beispiel #1 echo-Beispiele
<?php
echo "Hallo Welt";
echo "Diese Ausgabe geht über
mehrere Zeilen. Die Zeilenumbrüche werden
ebenfalls ausgegeben.";
echo "Diese Ausgabe geht über\nmehrere Zeilen. Die Zeilenumbrüche werden\nebenfalls ausgegeben.";
echo "Escape Zeichen werden \"so realisiert\".";
// Sie können Variablen innerhalb eines echo-Statements verwenden
$foo = "foobar";
$bar = "barbaz";
echo "foo ist $foo"; // foo ist foobar
// Sie können auch Arrays nutzen
$bar = array("wert" => "foo");
echo "Das ist {$bar['wert']} !"; // Das ist foo !
// Wenn Sie einfache Anführungszeichen verwenden, wird der Name der Variable
// anstelle ihres Inhalts ausgegeben
echo 'foo ist $foo'; // foo ist $foo
// Sie können auch ausschließlich Variablen ausgeben,
// sofern Sie keine weiteren Zeichen ausgeben wollen
echo $foo; // foobar
echo $foo,$bar; // foobarbarbaz
// Einige Programmierer bevorzugen es, mehrere Parameter
// mithilfe von Stringverkettung auszugeben
echo 'Dieser ', 'String ', 'besteht ', 'aus ', 'mehreren Parametern.', chr(10);
echo 'Dieser ' . 'String ' . 'wurde ' . 'mit ' . 'Stringverkettung erzeugt.' . "\n";
echo <<<END
Hier wird die "here document"-Syntax verwendet, um mehrere
Zeilen mit $variablen Interpolation auszugeben. Beachten Sie,
dass das sich das "here document"-Endzeichen in einer Zeile
mit nur einem Strichpunkt aber ohne Leerzeichen o.ä. stehen muss!
END;
// Da echo sich nicht wie eine Funktion verhält, ist der folgende Code ungültig.
($eine_variable) ? echo 'true' : echo 'false';
// Folgende Beispiele funktionieren hingegen:
($eine_variable) ? print 'true': print 'false' ; // print ist ebenfalls ein
// Konstrukt, aber es verhält sich wie eine Funktion,
// so dass es in diesem Kontext verwendet werden kann
echo $eine_variable ? 'true': 'false'; // Das Statement herumgedreht
?>
Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.