2011-01-14 7 views
3

Mögliche Duplizieren:
How are echo and print different in PHP?PHP: Gibt es einen Vorteil, Echo statt Drucken zu verwenden?

Soweit ich den Unterschied zwischen print und echo wissen ist, dass print einen Booleschen Wert zurück. Also, wenn ich echo benutze, kann ich stattdessen print verwenden. Dennoch habe ich in allen Codebeispielen, die ich bis jetzt gesehen habe (ich lerne PHP), echo verwendet. Warum das?

EDIT: Vielleicht ist der Grund dafür ist, dass echo schneller als print (weil print liefert einen Wert und echo nicht)? Obwohl ich denke, der Geschwindigkeitsunterschied ist nicht wahrnehmbar.

+0

Weil 'echo' tun gibt keinen Wert – Mchl

Antwort

6

Die print gibt einen Wert, während echo nicht echo etwas schneller ist zu machen (keine große Sache obwohl). Sie können für mehr Beitrag check out:

Other than that, Sie echo-output etwas anders als print verwenden zu etwas Rückgabewert zu erhalten. Daher wird echo am besten in der Warteschlange, aber nichts hält Sie davon ab, print zu verwenden.

alt text

+0

Ich bin nicht sicher, wie wir Kredit solchen Test geben kann. Ich bin davon überzeugt, dass es von Versionen zu Versionen und abhängig von der Konfiguration, Pufferung der Ausgabe oder anderen Faktoren ändern kann. – Savageman

+0

@Savageman: Du hast Recht, aber im Allgemeinen 'echo' * ist * etwas schneller :) – Sarfraz

+1

Ja, schneller zu schreiben! ;) – Savageman

2

Verwenden Sie echo ist etwas schneller als print, obwohl für die meisten Zwecke sollte es egal sein.

1

Es ändert nichts. Sie können entweder das eine oder das andere verwenden. Es gibt keine besondere Verwendung von 1 wird zurückgegeben, jeder verwendet Echo per Konvention, vielleicht ist es historisch. Es ist auch schneller zu schreiben (4 Buchstaben statt 5).

3

This article hat diese Frage zu einer größeren Tiefe erforscht, als Sie vielleicht sogar gewusst haben, war möglich.

Von: http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

1.

Speed. There is a difference between the two, but speed-wise it should be irrelevant which one you use. echo is marginally faster since it doesn't set a return value if you really want to get down to the nitty gritty. 

2.

Expression. print() behaves like a function in that you can do: $ret = print "Hello World"; And $ret will be 1. That means that print can be used as part of a more complex expression where echo cannot. An example from the PHP Manual: 

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

Druck ist auch Teil der Präzedenztabelle, die es braucht, wenn es innerhalb einer verwendet werden soll komplexer Ausdruck. Es ist jedoch nur etwa am Ende der Rangfolge-Liste. Nur "," UND, ODER und XOR sind niedriger.

  1. Parameter (s). Die Grammatik ist: echo expression [, Ausdruck [, Ausdruck] ...] Aber Echo (Ausdruck, Ausdruck) ist nicht gültig. Dies wäre gültig: echo ("howdy"), ("Partner"); das gleiche wie: echo "grüß dich", "partner"; (Die Klammern in diesem einfachen Beispiel zu verwenden, hat keinen Sinn, da es für einen einzelnen Begriff wie diesen keine Vorrangstellung gibt.
  2. )

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

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

print() kann nur ein Parameter übernehmen:

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

Die meiste Zeit es nur kommt auf persönliche Vorlieben.

Jedoch echo kann mehr als einen Parameter haben und print gibt einen Wert zurück.

1

Die kurze Antwort auf Ihre Frage ist nein, es spielt keine Rolle, welche Sie verwenden. Es gibt geringfügige Unterschiede, aber es gibt keine Bedenken. Ich werde im Folgenden einige von ihnen hervorheben:

  1. print kann in Ausdrücken verwendet werden, während echo nicht. Zum Beispiel mit print ist folgendes möglich: ($foo == true) ? print 'true' : $foo = true, aber mit echo ersetzen würde bewirken, dass ein Fehler
  2. echo mehrere Argumente annehmen kann, durch Komma getrennt, während print nicht. Zum Beispiel würden Sie echo "hello", "world";
  3. print immer „zurückgibt“ den Wert 1
Verwandte Themen