Frage

  

Mögliche Duplizieren:
   Referenz: Vergleicht man die PHP-Print und echo

Gibt es einen wichtigen und grundlegenden Unterschied zwischen diesen beiden Funktionen in PHP?

War es hilfreich?

Lösung

Von: http: / /web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40

  1. Geschwindigkeit. Es gibt einen Unterschied zwischen den beiden, aber Geschwindigkeit her es sollte irrelevant sein, welche Sie verwenden. Echo ist geringfügig schneller da sie gesetzt keinen Rückgabewert, wenn Sie wirklich die unten erhalten möchten praktisch veranlagt.

  2. Expression. print() verhält sich wie eine Funktion, dass Sie tun können: $ret = print "Hello World"; Und $ret wird 1. Das bedeutet, dass der Druck kann als Teil eines komplexeren Ausdrucks verwendet werden, wo Echo nicht. Ein Beispiel aus dem PHP-Handbuch:

$b ? print "true" : print "false";

Druck ist auch Teil der Präzedenztabelle, die es, wenn es sein muss wird in einem komplexen Ausdruck verwendet werden. Es ist nur etwa an der Unterseite obwohl die Vorrang-Liste. Nur "" AND, OR und XOR niedriger.

  1. Parameter (s). Die Grammatik ist: echo expression [, expression[, expression] ... ] Aber echo ( expression, expression ) nicht gültig ist. Dies wäre gültig: echo ("howdy"),("partner"); dasselbe wie: echo "howdy","partner"; (Setzt man die Klammern in diesem einfachen Beispiel dient kein Zweck, da es keine Rangfolge der Operatoren Problem mit einem einzigen Begriff ähnlich.)

So, Echo ohne Klammern können mehrere Parameter übernehmen, die erhalten verketteten:

   echo  "and a ", 1, 2, 3;   // comma-separated without parentheses
   echo ("and a 123");        // just one parameter with parentheses

print() kann nur einen Parameter übernehmen:

   print ("and a 123");
   print  "and a 123";

Andere Tipps

Sie sind:

  • Drucken dauert nur einen Parameter, während Echo mehrere Parameter haben kann.
  • Drucken gibt einen Wert (1), so kann als Ausdruck verwendet werden.
  • Echo ist etwas schneller.

Um auf die Antworten oben hinzufügen, während Druck nur einen Parameter übernehmen kann, ist es für die Verkettung von mehreren Werten ermöglichen wird, das heißt:

$count = 5;

print "This is " . $count . " values in " . $count/5 . " parameter";

Dies ist 5 Werte in 1 Parameter

Ich denke, print() ist langsamer als echo.

Ich mag print() verwenden nur für Situationen wie:

 echo 'Doing some stuff... ';
 foo() and print("ok.\n") or print("error: " . getError() . ".\n");

Wie das PHP.net Handbuch schlägt vor, nehmen Sie eine Lese von diese Diskussion .

Ein wesentlicher Unterschied besteht darin, dass echo mehrere Parameter Ausgang nehmen kann. Z.

echo 'foo', 'bar';   // Concatenates the 2 strings
print('foo', 'bar'); // Fatal error

Wenn Sie nun das Ergebnis einer Ausgabeanweisung (wie unten) verwenden print zu bewerten. Wenn nicht, verwenden echo.

$res = print('test');
var_dump($res); //bool(true)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top