(PHP 4, PHP 5, PHP 7, PHP 8)
print — Ausgabe eines Strings
Gibt expression
aus.
print
ist keine Funktion, sondern ein Sprachkonstrukt.
Sein Argument ist der Ausdruck, der auf das Schlüsselwort
print
folgt, und wird nicht durch Klammern abgegrenzt.
Der Hauptunterschied zu echo
besteht darin, dass
print
nur ein einziges Argument entgegennimmt, und
immer 1
zurückgibt.
expression
Der Ausdruck, der ausgegeben werden soll. Nicht-String-Werte werden in
Strings umgewandelt, auch wenn die Direktive
strict_types
aktiviert ist.
Gibt immer 1
zurück.
Beispiel #1 print
-Beispiele
<?php
print "print benötigt keine Klammern.";
print PHP_EOL;
// Es wird kein Zeilenumbruch oder Leerzeichen eingefügt; das Folgende gibt
// "HalloWelt" in einer Zeile aus
print "Hallo";
print "Welt";
print PHP_EOL;
print "Dieser String umfasst
mehrere Zeilen. Die Zeilenumbrüche
werden mit ausgegeben.";
print PHP_EOL;
print "Dieser String umfasst\nmehrere Zeilen. Die Zeilenumbrüche\nwerden mit ausgegeben.";
print PHP_EOL;
// Das Argument kann ein beliebiger Ausdruck sein, der einen String erzeugt
$foo = "ein Beispiel";
print "foo ist $foo"; // foo ist ein Beispiel
print PHP_EOL;
$fruechte = ["Zitrone", "Orange", "Banane"];
print implode(" und ", $fruechte); // Zitrone und Orange und Banane
print PHP_EOL;
// Nicht-String-Ausdrücke werden in String umgewandelt, auch wenn
// declare(strict_types=1) verwendet wird
print 6 * 7; // 42
print PHP_EOL;
// Da print einen Rückgabewert hat, kann es in Ausdrücken verwendet werden
// Das Folgende gibt "Hallo Welt" aus
if ( print "Hallo" ) {
echo " Welt";
}
print PHP_EOL;
// Das Folgende gibt "wahr" aus
( 1 === 1 ) ? print 'wahr' : print 'falsch';
print PHP_EOL;
?>
Hinweis: Die Verwendung mit Klammern
Wenn das Argument in Klammern an
<?php
print "Hallo";
// gibt "Hallo" aus
print("Hallo");
// gibt auch "Hallo" aus, weil ("Hallo") ein gültiger Ausdruck ist
print(1 + 2) * 3;
// gibt "9" aus; die Klammern bewirken, dass zuerst 1+2 ausgewertet wird, dann 3*3
// Die print-Anweisung sieht den gesamten Ausdruck als ein Argument
if ( print("Hallo") && false ) {
print " - inside if";
}
else {
print " - inside else";
}
// gibt " - inside if" aus
// Der Ausdruck ("Hallo") && false wird zuerst ausgewertet und ergibt false
// Dies wird in die leere Zeichenkette "" umgewandelt und gedruckt
// Das print-Konstrukt gibt dann 1 zurück, also wird der Code im if-Block ausgeführt
?>Wenn
<?php
if ( (print "Hallo") && false ) {
print " - inside if";
}
else {
print " - inside else";
}
// gibt "Hallo - inside else" aus
// Im Gegensatz zum vorherigen Beispiel wird der Ausdruck (print "Hallo")
// zuerst ausgewertet
// Nach der Ausgabe von "Hallo" gibt print 1 zurück
// Da 1 && false falsch ist, wird der Code im else-Block ausgeführt
print "Hallo " && print "Welt";
// gibt "Welt1" aus; print "Welt" wird zuerst ausgewertet,
// dann wird der Ausdruck "Hallo " && 1 an den linken print übergeben
(print "Hallo ") && (print "Welt");
// gibt "Hallo Welt" aus; die Klammern erzwingen, dass die print-Ausdrücke
// vor dem && ausgewertet werden.
?>
Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen oder benannten Parametern verwenden.